
    g                        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      xr  e	ed      xr  e	ej                  d      Z
d	 Zd
 Zd Zd Zd Zd Z eej                  e        eej                  e        eee       y)    N)
Connection)get_spawning_popen   )registerCMSG_LEN
SCM_RIGHTSsendmsgc                 2    t        j                  | d       | S )NT)osset_inheritable)fds    c/var/www/openai/venv/lib/python3.12/site-packages/joblib/externals/loky/backend/_posix_reduction.py_mk_inheritabler      s    r4 I    c                     t               }| |j                  |j                  |             S t        rddlm} |j                  |       S t        d      )zReturn a wrapper for an fd.r   )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   s      r   r   r      sS    "$Iy<<R@AA	3$$R((1
 	
r   c                     t        | j                               }t        || j                  | j                  | j
                  ffS N)r   fileno_rebuild_socketfamilytypeproto)sdfs     r   _reduce_socketr"   -   s2    	qxxz	BR166177;;;r   c                 R    | j                         }t        j                  ||||      S r   )detachsocketfromfd)r!   r   r   r   r   s        r   r   r   2   s"    	B==VT511r   c                 <    | j                         }t        |||      S r   )r$   r   )r!   readablewritabler   s       r   rebuild_connectionr*   7   s    	Bb(H--r   c                 r    t        | j                               }t        || j                  | j                  ffS r   )r   r   r*   r(   r)   )connr!   s     r   reduce_connectionr-   <   s,    	t{{}	BDMM4==AAAr   )r   r%   _socketmultiprocessing.connectionr   multiprocessing.contextr   	reductionr   hasattrr   r   r   r"   r   r*   r-    r   r   <module>r4      s    
   1 6  FJ *%*y) 

 <
2
.
B
 	 '  ( & 'r   