
     h                     P   d dl mZ d dlZd dlZd dlZd dlZ	 d dlZn# e$ r d dlZY nw xY w	 d dl	m
Z
 n# e$ r d Z
Y nw xY wd dlmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ g dZd	ZdZd Zd
ZdZ dZ!dZ"dZ#dZ$dZ%dZ&da'da(d Z)d Z*d Z+d Z,d Z-d Z.d Z/ddZ0d Z1d Z2d Z3dS )    )absolute_importN)_args_from_interpreter_flagsc                     ddddddddd	d
d
} g }|                                  D ]@\  }}t          t          j        |          }|dk    r|                    d||z  z              At          j        D ]}|                    d|z              |S )zrReturn a list of command-line arguments reproducing the current
        settings in sys.flags and sys.warnoptions.dOBsSEvbR3)
debugoptimizedont_write_bytecodeno_user_siteno_siteignore_environmentverbosebytes_warninghash_randomizationpy3k_warningr   -z-W)itemsgetattrsysflagsappendwarnoptions)flag_opt_mapargsflagoptr   s        I/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/billiard/util.pyr   r      s     #&"% "%
 
 %++-- 	+ 	+ID#	4((A1uuC#'M***? 	$ 	$CKKs
####    )_afterfork_registry_afterfork_counter_exit_function_finalizer_registry_finalizer_counterFinalizeForkAwareLocalForkAwareThreadLockget_temp_dir
is_exitingregister_after_fork_run_after_forkers_run_finalizers   )	get_errno)	sub_debugr   infosub_warning
get_loggerlog_to_stderrr/   r1   r0   r,   r.   r-   SUBDEBUG
SUBWARNING      
            (   multiprocessingz+[%(levelname)s/%(processName)s] %(message)sFc                 N    t           rt          j        t          | g|R i | d S d S N)_loggerlogr;   msgr"   kwargss      r%   r6   r6   a   s<     4Hc3D333F333334 4r&   c                 N    t           rt          j        t          | g|R i | d S d S rF   )rG   rH   DEBUGrI   s      r%   r   r   f   <     1E30000000001 1r&   c                 N    t           rt          j        t          | g|R i | d S d S rF   )rG   rH   INFOrI   s      r%   r7   r7   k   s<     0D#/////////0 0r&   c                 N    t           rt          j        t          | g|R i | d S d S rF   )rG   rH   r<   rI   s      r%   r8   r8   p   s<     6J5d555f555556 6r&   c                 N    t           rt          j        t          | g|R i | d S d S rF   )rG   rH   WARNINGrI   s      r%   warningrT   t   s<     3GS242226222223 3r&   c                 N    t           rt          j        t          | g|R i | d S d S rF   )rG   rH   ERRORrI   s      r%   errorrW   x   rN   r&   c                     ddl } |                                  	 t          s|                     t                    adt          _        |                     t          d           |                     t          d           t          t          d          r3t          j        t                     t          j        t                     nNt          j                            t          di f           t          j                            t          di f           |                                  n# |                                  w xY wt          S )z0
    Returns logger used by multiprocessing
    r   Nr;   r<   
unregister )logging_acquireLockrG   	getLoggerLOGGER_NAME	propagateaddLevelNamer;   r<   hasattratexitrY   r)   register_exithandlersremover   _releaseLock)r[   s    r%   r9   r9   }   s   
 NNN 	F''44G !G  :666  \::: v|,, F!.111////$++^R,DEEE$++^R,DEEENs   C9D( (D>c                    ddl }t                      }|                    t                    }|                                }|                    |           |                    |           | r|                    |            dat          S )zB
    Turn on logging and add a handler which prints to stderr
    r   NT)
r[   r9   	FormatterDEFAULT_LOGGING_FORMATStreamHandlersetFormatter
addHandlersetLevel_log_to_stderrrG   )levelr[   logger	formatterhandlers        r%   r:   r:      s    
 NNN\\F!!"899I##%%G###
g NNr&   c                  h   t           j                            d          st                      	 dt           j        v rut          j                    } |                     d           |                     d          }| 	                    d          }|
                    t          |           |d         S t          j                    }t          j                            d          }|
                    t          t          j        |                     |j        S # t$          $ r t                      w xY w)zE
    Return the current value of the parent process death signal
    linuxcffiint prctl (int __option, ...);zint *Nr   	libc.so.6)r   platform
startswithOSErrormodulesru   FFIcdefnewdlopenprctlPR_GET_PDEATHSIGctypesc_intcdllLoadLibrarybyrefvalue	Exception)ffiargCsiglibcs        r%   get_pdeathsigr      s     <""7++ iiS[  (**CHH5666'''""C

4  AGG$c***q6M,..C;**;77DJJ'c):):;;;9   iis   BD 2A%D D1c                    t           j                            d          st                      	 dt           j        v rnt          j                    }|                    d           |                    d          }|	                    t          |                    d|                      dS t          j                            d          }|	                    t          |            dS # t          $ r t                      w xY w)am  
    Set the parent process death signal of the calling process to sig
    (either a signal value in the range 1..maxsig, or 0 to clear).
    This is the signal that the calling process will get when its parent dies.
    This value is cleared for the child of a fork(2) and
    (since Linux 2.4.36 / 2.6.23) when executing a set-user-ID or set-group-ID binary.
    rt   ru   rv   Nintrw   )r   rx   ry   rz   r{   ru   r|   r}   r   r   PR_SET_PDEATHSIGcastr   r   r   r   )r   r   r   r   s       r%   set_pdeathsigr      s     <""7++ ii
S[  (**CHH5666

4  AGG$chhuc&:&:;;;;;;**;77DJJ'-----   iis   A:C' +:C' 'D c                 F     t          j                    fd            }|S )z&
    Automatic retry after EINTR.
    c                      	 	  | i |S # t           $ r(}t          |          t          j        k    r Y d }~nd }~ww xY w?rF   )rz   r5   errnoEINTR)r"   rK   excfuncs      r%   wrappedz_eintr_retry.<locals>.wrapped   sm    	tT,V,,,   S>>U[00 10000	s    
>9>)	functoolswraps)r   r   s   ` r%   _eintr_retryr      s:    
 _T     Nr&   rF   )4
__future__r   r   r   r   rb   ru   ImportErrorr   
subprocessr   multiprocessing.utilr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   compatr5   __all__r   r   NOTSETr;   rM   rP   r<   rS   rV   r^   ri   rG   rn   r6   r   r7   r8   rT   rW   r9   r:   r   r   r   rZ   r&   r%   <module>r      s}   ' & & & & & 



      KKKK   MMMMM7777777       2                                          

	


F 
4 4 4
1 1 1
0 0 0
6 6 63 3 31 1 1
  :   &  0  .    s    	))4 ??