In my analysis,the reason is: When lock surface,the surface can't be locked,so that per_client_cblk_t::lock_layer will never return.
But this issue will never appear if I add logs to track it,who can provide more hints on how to fix it or why it will occurr? The log is: 01-01 00:15:07.558: WARN/AudioFlinger(56): write blocked for 152 msecs 01-01 00:15:07.605: WARN/SurfaceComposerClient(453): lock_layer timed out (is the CPU pegged?) layer=3, lcblk=0x437381a0, state=0000000c (was 0000000c) 01-01 00:15:08.606: WARN/SurfaceComposerClient(453): lock_layer timed out (is the CPU pegged?) layer=3, lcblk=0x437381a0, state=0000000c (was 0000000c) 01-01 00:15:08.675: WARN/AudioFlinger(56): write blocked for 152 msecs 01-01 00:15:09.604: WARN/SurfaceComposerClient(453): lock_layer timed out (is the CPU pegged?) layer=3, lcblk=0x437381a0, state=0000000c (was 0000000c) --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---