From c811e7a77594329871183411ce03420882d5e000 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 17 Feb 2011 13:00:38 -0800 Subject: [PATCH] Binder linkage no longer depends on JNI objrefs as persistent tokens There are two areas that have changed to eliminate the assumption that local jobject references are both canonical and persistent: 1. JavaBBinderHolder no longer holds onto and reuses it parent object reference per se. Since the underlying JavaBBinder object holds a real global ref, this was redundant anyway. Now, for purposes of its transient need to perform JNI operations, it simply uses the current jobject ref(s) passed during method invocation, and no longer attempts to hold these refs beyond the scope of a single invocation. 2. Binder obituaries no longer assume that a jobject reference to a recipient will always compare == as a 32-bit value with any future reference to the same object. The implementation now asks Dalvik whether object references match. Bug 2090115 Change-Id: If62edd554d0a9fbb2d2977b0cbf8ad7cc8e2e68d --- include/binder/IBinder.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/binder/IBinder.h b/include/binder/IBinder.h index 749a977b8..81b56c2b2 100644 --- a/include/binder/IBinder.h +++ b/include/binder/IBinder.h @@ -98,7 +98,7 @@ public: * Register the @a recipient for a notification if this binder * goes away. If this binder object unexpectedly goes away * (typically because its hosting process has been killed), - * then DeathRecipient::binderDied() will be called with a referene + * then DeathRecipient::binderDied() will be called with a reference * to this. * * The @a cookie is optional -- if non-NULL, it should be a