summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueueThreadState.cpp
diff options
context:
space:
mode:
author Ana Krulec <akrulec@google.com> 2020-09-24 13:06:33 -0700
committer Ana Krulec <akrulec@google.com> 2020-09-25 17:20:18 -0700
commit6ddd261d715d0f8bddbc09c18ae008bb81d9b023 (patch)
tree6a444699ef3b182ce1f1d8bfcdd95844cd413fe4 /libs/gui/BufferQueueThreadState.cpp
parentc6900fa3fb39869e5dbd3ce4918fd5117e782a9b (diff)
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
Diffstat (limited to 'libs/gui/BufferQueueThreadState.cpp')
0 files changed, 0 insertions, 0 deletions