6083d81ce4d67ec632962270fda64ebb9db0d5b1
Because the standard Looper.loop code calls Message#recycle it is imperative that Handler#handleMessage code not attempt to resue a message it receives. If allowed to do so it will cause bugs that could be difficult to diagnois. This change adds Message#flags and uses one bit to reliably detect a message is in use and throws an error in MessageQueue#enqueueMessage. This allows early detection of this bug. Note: This is not new functionality, but the current implementation does not detect messages that are in use because it uses Message#when != 0 as the detection mechanism. The problem is that a Message#when value of 0 is valid value used to place a message at the front of the queue and is thus unreliable. Another option is to change the setting of Message#when in Message#enqueueMessage so that it is never 0, although that does change subtly a publicly accessible field. Yet another option would be to use other fields but all candidates have similar problems as when in that they are publicly accessible or even settable such as Message#target. Change-Id: I2df600537700a3fe206678f38bcae7329751c4e5
am
03805f72: am d313cab4: Merge "tracking merge of external/apache-http from dalvik-dev" into gingerbread
am
1ef758b8: am 404bffbe: am 4f3c5372: Merge "Fix subscribe links for Developer Forums doc." into froyo
am
a2527055: am c8696023: Merge "Document that autoFocus must be called in auto and macro mode." into gingerbread
am
a4ed1c67: am 1e4aa48c: Merge "fix [2912927] Can\'t get NV_draw_path extension to work" into gingerbread
am
8fd80e92: am 72ce4235: Merge "Fix possible race conditions during channel unregistration." into gingerbread
Description
No description provided
Languages
Java
73.7%
Kotlin
14%
PowerBuilder
5.8%
C++
5.2%
AIDL
1%