diff options
| author | 2012-08-20 20:07:34 -0700 | |
|---|---|---|
| committer | 2012-08-20 21:41:29 -0700 | |
| commit | a4cb35a2864d58e9a764a17623e15ab25a9964a0 (patch) | |
| tree | 91060e96729fac830b09da2994a7fb9cd5996218 /services/surfaceflinger/EventThread.h | |
| parent | 1648d4c13ba2eff3ea14cd87ee94028458a39f97 (diff) | |
fix various issues in SF's EventThread
- one issues caused most timestamps to be reported as 0
- on rare occasions an uninitialized variable could be used
- vsync counts per connection were accessed unthreadsafely
we now have 2 lists of connections in the main loop, one just
keeps a list of strong refs to the connections because once
we have a strong ref we're not allowed to release it while
holding the lock.
the 2nd list holds the connections that have a vsync event to
be reported. all the calculations are made with the lock held.
Change-Id: Iacfad3745b05df79d9ece3719bd4c34ddbfd5b83
Diffstat (limited to 'services/surfaceflinger/EventThread.h')
| -rw-r--r-- | services/surfaceflinger/EventThread.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/services/surfaceflinger/EventThread.h b/services/surfaceflinger/EventThread.h index d23b9fad97..aa0ea7f3cd 100644 --- a/services/surfaceflinger/EventThread.h +++ b/services/surfaceflinger/EventThread.h @@ -47,7 +47,6 @@ class EventThread : public Thread { // count >= 1 : continuous event. count is the vsync rate // count == 0 : one-shot event that has not fired // count ==-1 : one-shot event that fired this round / disabled - // count ==-2 : one-shot event that fired the round before int32_t count; private: |