Run a function in the reactor from a thread, and wait for the result synchronously. If the function returns a Deferred, wait for its result and return that.
| Parameters | reactor | The IReactorThreads provider which will be used to schedule the function call. |
| f | the callable to run in the reactor thread (type: any callable.) |
| a | the arguments to pass to f. |
| kw | the keyword arguments to pass to f. |
| Returns | the result of the Deferred returned by f, or the result of f if it returns anything other than a Deferred. |
| Raises | If f raises a synchronous exception, blockingCallFromThread will raise that exception. If f returns a Deferred which fires with a Failure, blockingCallFromThread will raise that failure's exception (see Failure.raiseException). |