o
    l¨ÊhÊ  ã                   @   sˆ  d Z ddlZddlZddlZddlmZ eej dd¡ƒpdZ	e	r3zddl
Z	W n ey2   dZ	Y nw e	dur¢zJddlZddlmZ ejdk rMeZdd	„ Ze ¡ Zed
ƒD ]*Zzd e ¡ eeƒ¡Zedddedd�Z[W  n ey   edkr}edƒ‚Y qUw W n  eeeefy¡ Z zdZ	e def ¡ W Y dZ[ndZ[ww e	durÀz	ddlmZ W dS  ey¿   ddl mZ Y dS w dZdS )zÙHelper module to factorize the conditional multiprocessing import logic

We use a distinct module to simplify import statements and avoid introducing
circular dependencies (for instance for the assert_spawning name).
é    Né   )ÚCompatFileExistsErrorÚJOBLIB_MULTIPROCESSING)ÚSemLock)é   c                 C   s   t | ||ƒS )N)Ú_SemLock)ÚkindÚvalueÚmaxvalueÚnameÚunlink© r   úQ/var/www/html/env/lib/python3.10/site-packages/joblib/_multiprocessing_helpers.pyr   $   s   r   éd   z/joblib-{}-{}T)r   r   éc   zcannot find name for semaphorez'%s.  joblib will operate in serial mode)Úassert_spawning)!Ú__doc__ÚosÚsysÚwarningsÚ_compatr   ÚintÚenvironÚgetÚmpÚmultiprocessingÚImportErrorÚtempfileÚ_multiprocessingr   Úversion_infor   Ú_RandomNameSequenceÚ_randÚrangeÚiÚformatÚgetpidÚnextr   Ú_semÚAttributeErrorÚOSErrorÚeÚwarnÚmultiprocessing.contextr   Úmultiprocessing.forkingr   r   r   r   Ú<module>   s`    ÿ
ÿÿÿÿ€€þÿ