summaryrefslogtreecommitdiff
path: root/graphics/java/android/renderscript/ProgramVertexFixedFunction.java
diff options
context:
space:
mode:
authorGuobin Zhang <guobin.zhang@intel.com>2013-03-21 13:57:11 +0800
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-03-27 00:17:27 +0000
commit9e3e5266506cb6817ea676e02d3099a7c44855f3 (patch)
treeecf10c3b25fa63d17d5797520db8e16d7369a343 /graphics/java/android/renderscript/ProgramVertexFixedFunction.java
parent083bfa5a4cc867a62723537fc6f9a5213865bb19 (diff)
Two REMOVE_PROVIDER messages caused by race condition.
Fix a bug in unstable ContentProvider. IllegalStateException: ref counts can't go to zero here: stable=0 unstable=0 IllegalStateException: unstable count < 0: -1 There is a race between main thread and background database thread. Main thread is responsible for handling the REMOVE_PROVIDER message. Database thread starts insert or query request again and again. acquireProvider in db thread will often snatch provider from the jaws of death, sometime it fails to remove REMOVE_PROVIDER which is already fired out from MessageQueue. But completeRemoveProvider in main thread gets suspended when trying to execute the critical section. If db thread released the provider before main thread resumes the execution, then two REMOVE_PROVIDER messages will be executed. Change-Id: I8588aa1d1a8bc444dcd2adf6f8bc3f055cebbdc4 Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Diffstat (limited to 'graphics/java/android/renderscript/ProgramVertexFixedFunction.java')
0 files changed, 0 insertions, 0 deletions