diff options
| author | 2017-10-31 18:40:00 +0000 | |
|---|---|---|
| committer | 2017-10-31 18:40:00 +0000 | |
| commit | ffbf2d94a1838126f05fcebb6a90a7d6cdf9601f (patch) | |
| tree | b11994718f74be808abe052ec3388e031c20723d /services/surfaceflinger/MessageQueue.cpp | |
| parent | a14443fac49543abda174f8c3457ab0b60021b01 (diff) | |
| parent | 6200eacdc927776483d775562db11cce284cc7e0 (diff) | |
surfaceflinger: make vsync injection more robust
am: 6200eacdc9
Change-Id: Ie04e3e56b035ea9e52038de49a2e5c2e67c8abe2
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);  |