File: //lib/python3/dist-packages/twisted/internet/__pycache__/threads.cpython-38.pyc
U
W[q � @ s� d Z ddlmZmZ ddlmZ es.ddlZnddlZddlm Z ddl
mZ dd� Zd d
� Z
dd� Zd
d� Zdd� Zd
dddgZdS )zY
Extended thread dispatching support.
For basic support see reactor threading API docs.
� )�division�absolute_import)�_PY3N)�failure)�deferc s. t �� � � �fdd�}|j||f|�|� � S )a6
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&