Fixing threading around mConnections in Scheduler
The following happens when we create connection 1. initScheduler() 2. getFactory().createScheduler() 3. mTouchTimer.emplace 4. mScheduler->createConnection Which means that timer created in step 3 expires exactly while we are in step 4, so then the EventThread is half baked in rare cases and we crash. Also, do not continue to calling functions if the optional fields do not have a value. Test: libsurfaceflinger_unittest --gtest_filter=SchedulerTest.testDispatchCachedReportedConfig Bug: 160926398 Change-Id: Ib2617b914145bc4180cc7ca27203c59dbd625c94
Loading
Please register or sign in to comment