summaryrefslogtreecommitdiffstats
path: root/media/jni
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2015-01-05 18:10:33 +0000
committerandroid-build-merger <android-build-merger@google.com>2015-01-05 18:10:33 +0000
commitc82be5f27f1dd9da665b0ca52590cc30ede4e78a (patch)
tree4e883dfdcce0f6fc32f7d48809de8c5d6c22c6dc /media/jni
parenta199880a01d65779ab48131ab98f131d8fb4e341 (diff)
parentb7974bd31d06d439cb75f8a3a0ad032fa689c729 (diff)
downloadframeworks_base-c82be5f27f1dd9da665b0ca52590cc30ede4e78a.zip
frameworks_base-c82be5f27f1dd9da665b0ca52590cc30ede4e78a.tar.gz
frameworks_base-c82be5f27f1dd9da665b0ca52590cc30ede4e78a.tar.bz2
am dd65a4f7: am ea4cdd44: Merge "Race-condition in SoundPool during release"
automerge: b7974bd * commit 'b7974bd31d06d439cb75f8a3a0ad032fa689c729': Race-condition in SoundPool during release
Diffstat (limited to 'media/jni')
-rw-r--r--media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp b/media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp
index ce20e52..baf61d5 100644
--- a/media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp
+++ b/media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp
@@ -231,14 +231,14 @@ android_media_SoundPool_SoundPoolImpl_release(JNIEnv *env, jobject thiz)
SoundPool *ap = MusterSoundPool(env, thiz);
if (ap != NULL) {
- // release weak reference
+ // release weak reference and clear callback
jobject weakRef = (jobject) ap->getUserData();
+ ap->setCallback(NULL, NULL);
if (weakRef != NULL) {
env->DeleteGlobalRef(weakRef);
}
- // clear callback and native context
- ap->setCallback(NULL, NULL);
+ // clear native context
env->SetLongField(thiz, fields.mNativeContext, 0);
delete ap;
}