mer-hybris / libgbinder

GLib-style interface to binder
BSD 3-Clause "New" or "Revised" License
50 stars 42 forks source link

Fix a threading issue + assorted changes #59

Closed monich closed 3 years ago

monich commented 3 years ago

The main purpose of this PR is to prevent transaction handlers from being invoked on the worker thread.

It was possible in cases if an incoming transaction arrives while we are waiting for response from an asynchronous call to servicemanager (which is actually a synchronous call made on a worker thread). It's a no-no. External callbacks must be invoked on the main thread.