libbinder_ndk: pointer equality of AIBinder.
This means that there is always a 1-1 correspondance between any object (remote or local) and its AIBinder in a given process. Two cases: 1). For local objects created by the libbinder_ndk: AIBinder_new is called once. Whenever a binder is sent and then later received, ABBinderTag is used to identify and recover the object immediately. 2). For local objects created by libbinder and all remote objects regardless of their origin (this is what this CL fixes): ABpBinderTag is used to tag the object. This tag holds a weak pointer to ABpBinder which is used to recover the object. Bug: 111445392 Test: ./ndk/runtests.sh Change-Id: I0d52ed5e356b26a62cfbc8e822f274c878d1112d
Loading
Please register or sign in to comment