o
    \i                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ ddlmZ e	edo-e	edo-e	ejdZ
d	d
 Zdd Zdd Zdd Zdd Zdd Zeeje eeje eee dS )    N)
Connection)get_spawning_popen   )registerCMSG_LEN
SCM_RIGHTSsendmsgc                 C   s   t | d | S )NT)osset_inheritable)fd r   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/joblib/externals/loky/backend/_posix_reduction.py_mk_inheritable   s   r   c                 C   s@   t  }|dur||| S trddlm} || S td)zReturn a wrapper for an fd.Nr   )resource_sharerz[Cannot pickle connection object. This object can only be passed when spawning a new process)r   DupFdduplicate_for_childHAVE_SEND_HANDLEmultiprocessingr   	TypeError)r   	popen_objr   r   r   r   r      s   
r   c                 C   s"   t |  }t|| j| j| jffS N)r   fileno_rebuild_socketfamilytypeproto)sdfr   r   r   _reduce_socket-   s   r   c                 C   s   |   }t||||S r   )detachsocketfromfd)r   r   r   r   r   r   r   r   r   2   s   r   c                 C   s   |   }t|||S r   )r   r   )r   readablewritabler   r   r   r   rebuild_connection7   s   r$   c                 C   s   t |  }t|| j| jffS r   )r   r   r$   r"   r#   )connr   r   r   r   reduce_connection<   s   r&   )r	   r    _socketmultiprocessing.connectionr   multiprocessing.contextr   	reductionr   hasattrr   r   r   r   r   r$   r&   r   r   r   r   <module>   s(   

