I read the docs on Android Developer about IBinder/Binder.
It says
The Binder system also supports recursion across processes. For example if process A performs a transaction to process B, and process B while handling that transaction calls transact() on an IBinder that is implemented in A, then the thread in A that is currently waiting for the original transaction to finish will take care of calling Binder.onTransact() on the object being called by B. This ensures that the recursion semantics when calling remote binder object are the same as when calling local objects.
I have two questions about this
then the thread in A that is currently waiting for the original transaction to finish will take care of calling Binder.onTransact() on the object being called by B
First, how can a blocked thread be notified to do other stuff other than original procedure?
Second, After the thread finishes the onTransact()
, will it block again to wait for original transaction.