
    Sf                     D   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Z.d Z/d Z0d Z1dS )    N)_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        ?/var/www/html/env/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.   r0   r/   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$   r5   r5   `   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 rE   )rF   rG   DEBUGrH   s      r$   r   r   e   <     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 rE   )rF   rG   INFOrH   s      r$   r6   r6   j   s<     0D#/////////0 0r%   c                 N    t           rt          j        t          | g|R i | d S d S rE   )rF   rG   r;   rH   s      r$   r7   r7   o   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 rE   )rF   rG   WARNINGrH   s      r$   warningrS   s   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 rE   )rF   rG   ERRORrH   s      r$   errorrV   w   rM   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_acquireLockrF   	getLoggerLOGGER_NAME	propagateaddLevelNamer:   r;   hasattratexitrX   r(   register_exithandlersremover   _releaseLock)rZ   s    r$   r8   r8   |   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)
rZ   r8   	FormatterDEFAULT_LOGGING_FORMATStreamHandlersetFormatter
addHandlersetLevel_log_to_stderrrF   )levelrZ   logger	formatterhandlers        r$   r9   r9      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modulesrt   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                 8   t           j                            d          st          d          	 dt           j        v rnt          j                    }|                    d           |                    d          }|	                    t          |                    d|                      dS t          j                            d          }|	                    t          t          j        |                      dS # t           $ r}t          d          |d}~w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.
    rs   z$pdeathsig is only supported on linuxrt   ru   Nintrv   z(An error occured while setting pdeathsig)r   rw   rx   ry   rz   rt   r{   r|   r~   r   PR_SET_PDEATHSIGcastr   r   r   r   r   )r   r   r   r   es        r$   set_pdeathsigr      s    <""7++ ><===
IS[  (**CHH5666

4  AGG$chhuc&:&:;;;;;;**;77DJJ'c):):;;;;; I I I@AAqHIs   A:C: ,AC: :
DD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?rE   )ry   r4   errnoEINTR)r!   rJ   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%   rE   )2r   r   r   ra   rt   ImportErrorr   
subprocessr   multiprocessing.utilr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   compatr4   __all__r   r   NOTSETr:   rL   rO   r;   rR   rU   r]   rh   rF   rm   r5   r   r6   r7   rS   rV   r8   r9   r   r   r   rY   r%   r$   <module>r      sn   


      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I I I.    s    	##. 99