replicant-frameworks_native/include/binder
Christopher Tate 71f64dd876 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.

This amended patch fixes the earlier bug around races between
remote binder death cleanup and local explicit unregistration of
VM-side death recipients.

Bug 2090115

Change-Id: I70bd788a80ea953632b1f466f385ab6b78ef2913
2011-02-28 11:37:20 -08:00
..
Binder.h Make static versions of libutils and libbinder. 2010-05-06 01:03:31 -07:00
BinderService.h added BinderService<> template to help creating native binder services 2010-07-14 18:43:19 -07:00
BpBinder.h some work to try to reduce the code size of some native libraries 2009-05-26 16:12:20 -07:00
CursorWindow.h resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 2010-12-21 09:32:36 -08:00
IBinder.h Binder linkage no longer depends on JNI objrefs as persistent tokens 2011-02-28 11:37:20 -08:00
IInterface.h Allow META* macros outside of the framework 2010-04-20 14:14:30 -07:00
IMemory.h fix [2599939] "cannot play video" after open/close a video player a dozen of times 2010-04-19 19:09:03 -07:00
IPCThreadState.h Framework-side support for Dalvik "isSensitiveThread" hook. 2010-12-14 09:28:16 -08:00
IPermissionController.h move libbinder's header files under includes/binder 2009-05-20 12:55:03 -07:00
IServiceManager.h new Permission class used to improve permission checks speed (by caching results) 2009-06-15 21:56:51 -07:00
MemoryBase.h move libbinder's header files under includes/binder 2009-05-20 12:55:03 -07:00
MemoryDealer.h Simplify the MemoryDealer implementation 2010-01-29 14:51:06 -08:00
MemoryHeapBase.h fix [2599939] "cannot play video" after open/close a video player a dozen of times 2010-04-19 19:09:03 -07:00
MemoryHeapPmem.h fix [2599939] "cannot play video" after open/close a video player a dozen of times 2010-04-19 19:09:03 -07:00
Parcel.h Replace several IPCThreadState::get() lookups with one. 2010-07-27 12:28:57 -07:00
Permission.h new Permission class used to improve permission checks speed (by caching results) 2009-06-15 21:56:51 -07:00
ProcessState.h move libbinder's header files under includes/binder 2009-05-20 12:55:03 -07:00