diff options
| author | 2017-10-31 19:07:15 +0000 | |
|---|---|---|
| committer | 2017-10-31 19:07:15 +0000 | |
| commit | 2f5bd001333b331894690bf6dbc2068000703a44 (patch) | |
| tree | 3e3c9c89d1c848a306d29d07ca173bf22d7072a3 /services/surfaceflinger/MessageQueue.cpp | |
| parent | 1dbadb9c8075785189a1e032168333e4d43db632 (diff) | |
| parent | 3c192d059e2c1e5fc47812091dcf276f25f24f2c (diff) | |
surfaceflinger: make vsync injection more robust am: 6200eacdc9 am: ffbf2d94a1
am: 3c192d059e
Change-Id: I229ea69baff9295ace1495111640eca1222486c8
Diffstat (limited to 'services/surfaceflinger/MessageQueue.cpp')
| -rw-r--r-- | services/surfaceflinger/MessageQueue.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/surfaceflinger/MessageQueue.cpp b/services/surfaceflinger/MessageQueue.cpp index bca3430794..0b1199c2d0 100644 --- a/services/surfaceflinger/MessageQueue.cpp +++ b/services/surfaceflinger/MessageQueue.cpp @@ -91,6 +91,14 @@ void MessageQueue::init(const sp<SurfaceFlinger>& flinger) void MessageQueue::setEventThread(const sp<EventThread>& eventThread) { + if (mEventThread == eventThread) { + return; + } + + if (mEventTube.getFd() >= 0) { + mLooper->removeFd(mEventTube.getFd()); + } + mEventThread = eventThread; mEvents = eventThread->createEventConnection(); mEvents->stealReceiveChannel(&mEventTube); |