o
    l¨Êh\  ã                   @   s>   d dl Z d dlZejdkrejdk reZdd„ Zddd„ZdS )	é    NÚdarwin)é   r   c              	   C   s®   t | ƒ ddg¡} zt dd„ t d¡D ƒƒ}W n& ty=   ddl}| |j¡d }t dd„ td	|ƒD ƒƒ}| 	d¡ Y nw ||  D ]}zt 
|¡ W qB tyT   Y qBw dS )
z8Close all the file descriptors except those in keep_fds.é   é   c                 s   s   � | ]}t |ƒV  qd S ©N)Úint©Ú.0Úfd© r   úY/var/www/html/env/lib/python3.10/site-packages/joblib/externals/loky/backend/fork_exec.pyÚ	<genexpr>   s   € zclose_fds.<locals>.<genexpr>z/proc/self/fdr   Nc                 s   s   � | ]}|V  qd S r   r   r   r   r   r   r      s   € r   )ÚsetÚunionÚosÚlistdirÚFileNotFoundErrorÚresourceÚ	getrlimitÚRLIMIT_NOFILEÚrangeÚaddÚcloseÚOSError)Úkeep_fdsÚopen_fdsr   Úmax_nfdsÚir   r   r   Ú	close_fds   s    üÿýr   c                 C   sT   |d u ri n|}t j ¡ }| |¡ t  ¡ }|dkr(t|ƒ t  tj| |¡ d S |S )Nr   )	r   ÚenvironÚcopyÚupdateÚforkr   ÚexecveÚsysÚ
executable)Úcmdr   ÚenvÚ	child_envÚpidr   r   r   Ú	fork_exec$   s   

r*   r   )r   r$   ÚplatformÚversion_infor   r   r   r*   r   r   r   r   Ú<module>   s   