3
d]                 @   sV  d Z ddlZddlZeejjddp(dZerTyddlZW n ek
rR   dZY nX edk	r6yddl	Z	ddl
mZ e	j ZxtedD ]hZy.djej eeZedddedd	Z[P W q ek
r Z zed
kredeW Y ddZ[X qX qW W n@ eeeefk
r4 Z zdZejdef  W Y ddZ[X nX edk	rNddlmZ ndZdS )zHelper 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).
    NZJOBLIB_MULTIPROCESSING   )SemLockd   z/joblib-{}-{}T)nameunlinkc   zcannot find name for semaphorez'%s.  joblib will operate in serial mode)assert_spawning)__doc__oswarningsintenvirongetmpmultiprocessingImportErrortempfile_multiprocessingr   _RandomNameSequenceZ_randrangeiformatgetpidnextr   Z_semFileExistsErroreAttributeErrorOSErrorwarnZmultiprocessing.contextr    r   r   A/tmp/pip-build-v9q4h5k9/joblib/joblib/_multiprocessing_helpers.py<module>   s<   

""
