summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/MessageQueue.h
Commit message (Collapse)AuthorAgeFilesLines
* fix the threading issue for setBuffercount()Mathias Agopian2010-05-201-18/+17
| | | | | | | | this change introduces R/W locks in the right places. on the server-side, it guarantees that setBufferCount() is synchronized with "retire" and "resize". on the client-side, it guarantees that setBufferCount() is synchronized with "dequeue", "lockbuffer" and "queue"
* make use of the perfectly fine List.h instead of our own reimplementation of ↵Mathias Agopian2009-04-281-119/+21
| | | | a linked list.
* Surfaces are now destroyed properly in SurfaceFlinger.Mathias Agopian2009-04-241-2/+3
| | | | | | | | | | First, the window manager tells us when a surface is no longer needed. At this point, several things happen: - the surface is removed from the active/visible list - it is added to a purgatory list, where it waits for all clients to release their reference - it destroys all data/state that can be spared Later, when all clients are done, the remains of the Surface are disposed off: it is removed from the purgatory and destroyed. In particular its gralloc buffers are destroyed at that point (when we're sure nobody is using them anymore).
* a brand new MessageQueue for SurfaceFlinger.Mathias Agopian2009-04-241-0/+224