File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/threads.cpython-38.pyc
U
�b� � @ s\ d Z ddlZddlmZ ddlmZ dd� Zdd� Zd d
� Z dd� Z
d
d� ZddddgZdS )zY
Extended thread dispatching support.
For basic support see reactor threading API docs.
� N)�defer)�failurec s. t �� � � �fdd�}|j||f|�|� � S )a3
Call the function C{f} using a thread from the given threadpool and return
the result as a Deferred.
This function is only used by client code which is maintaining its own
threadpool. To run a function in the reactor's threadpool, use
C{deferToThread}.
@param reactor: The reactor in whose main thread the Deferred will be
invoked.
@param threadpool: An object which supports the C{callInThreadWithCallback}
method of C{twisted.python.threadpool.ThreadPool}.
@param f: The function to call.
@param args: positional arguments to pass to f.
@param kwargs: keyword arguments to pass to f.
@return: A Deferred which fires a callback with the result of f, or an
errback with a L{twisted.python.failure.Failure} if f throws an
exception.
c s&