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.
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.