Go to file
Mathias Agopian 7cc6df5957 fix a possible deadlock when removing a layer and destroying a client
generally the last reference to a Layer is released in commitTransaction()
with mStateLock held. Layer itself only holds weak references to Client,
however, ~Layer() briefly promotes this weak reference -- during that time
the all other strong references to that Client go away, ~Layer is left with
the last one... then hell breaks loose as ~Client is called, which in turn
needs to acquire mStateLock.

We fix this by holding a temporary copy of the drawing state during
the transaction so that the side-effects of copying the current
state into the drawing state are seen only after mStateLock has
been released.

Bug: 9106453
Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
2013-06-05 14:38:23 -07:00
build Add Dalvik heap definition for 7" xhdpi devices. 2013-05-06 15:06:20 -07:00
cmds am 4b2b0a74: am 74bd799e: Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes" 2013-05-28 15:52:27 -07:00
data/etc Add hardware feature android.hardware.bluetooth.le xml file 2013-04-23 11:58:44 -07:00
include CpuConsumer: Remove CpuConsumer JNI ID. 2013-06-03 10:42:05 -07:00
libs Merge "Added bitwise-or and bitwise-and to BitSet" 2013-05-31 03:31:49 +00:00
opengl free EGL resources associated to a thread when it terminates 2013-05-30 16:07:36 -07:00
services fix a possible deadlock when removing a layer and destroying a client 2013-06-05 14:38:23 -07:00
MODULE_LICENSE_APACHE2
NOTICE