
     h                        d Z 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Z	Y nw xY wddlmZ ddlmZ e	peZej        Zej        Zej        d         dk    rddlmZ n	 dd	lmZ n# e
$ r	 dd	lmZ Y nw xY w ed
  ee          D                       ZdD ]Z	 ee eee          <   # e$ r Y w xY wej        dcZZ ej!        "                    d          Z#e#r eee#          e#cZZ e#rdhn	 e$            Z%e#rdhn	 e$            Z&dZ'dde ddhZ(dddddddde ddddddhZ)dgZ*d Z+efdZd  Z,d! Z-d" Z.d# Z/e-dfd$Z0 G d% d&e1          Z2dS )'ze
This module contains utilities added by billiard, to keep
"non-core" functionality out of ``.util``.    )absolute_importN   )RestartFreqExceeded)	monotonic   BytesIO)StringIOc              #   n   K   | ]0}|                     d           t          t          |          |fV  1dS )SIGN)
startswithgetattrsignal).0ns     K/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/billiard/common.py	<genexpr>r   "   sV         !ALL4G4GVQ         )SIGHUPSIGABRTSIGTERMREMAP_SIGTERMSIGQUITF   r   SIGUSR1SIGUSR2SIGTRAPr   SIGEMTSIGSYSSIGPIPESIGALRMSIGXCPUSIGXFSZ	SIGVTALRMSIGPROFFc                     | pddk     rJ	 d                     |  t          |                     S # t          $ r d                     |            cY S w xY wd                     |           S )Nr   zsignal {0} ({1})z
signal {0}zexitcode {0})formatSIGMAPKeyError)statuss    r   human_statusr+   Z   s    !q	0%,,fWffWoFFF 	0 	0 	0&&w/////	0  (((s   "-  AAc                 2     |t          |                     S Nr   )sloads     r   pickle_loadsr0   c   s    4

r   c                 z    	 t          j         | |           d S # t          t          t          t          f$ r Y d S w xY wr-   )r   OSErrorAttributeError
ValueErrorRuntimeError)signumhandlers     r   maybe_setsignalr8   h   sJ    fg&&&&&^Z>   s    ::c                     t           d         rt          j        t                     t	          | t
          j                   dt           d<   t          j        d| z
              d S )Nr   T   )	_should_have_exitedos_exitEX_SOFTWAREr8   r   SIG_DFLsysexit)r6   frames     r   _shutdown_cleanuprC   o   sZ     1 
FFN+++!HsV|_r   c                 .    t          t          | d           S r-   )r   r   )sigs    r   r6   r6   z   s    63%%%r   c                 <    | t           v p|d uo|t          j        k    S r-   )TERMSIGS_FORCEr   SIG_IGN)rE   currents     r   _should_override_term_signalrJ   ~   s(    ~ 	<			:FN!:r   c                    |rt           nt          D ]E}t          |          }|r2t          |t	          j        |                    rt          ||            Ft          D ]-}t          |          }|rt          |t          j                   .d S r-   )	TERMSIGS_FULLTERMSIGS_DEFAULTr6   rJ   r   	getsignalr8   TERMSIGS_IGNORErH   )r7   fullrE   nums       r   reset_signalsrR      s     $:}}*: . .Skk 	.+C1A#1F1FGG .W--- 1 1Skk 	1C0001 1r   c                        e Zd ZeZd ZddZdS )restart_statec                 B    ||c| _         | _        d\  | _        | _        d S )N)r   N)maxRmaxTRT)selfrV   rW   s      r   __init__zrestart_state.__init__   s#    #T	49 r   Nc                 R   |t                      n|}| j        }| j        r#|| j        z
  | j        k    r|dc| _        | _        nE| j        r>| j        | j        k    r.| j        r'd| _        |                     |d| j        d          | j        || _        | xj        dz  c_        d S )Nr   z in r.   r   )r   rX   rY   rW   rV   r   )rZ   nowrX   s      r   stepzrestart_state.step   s     [ikkkcF6 
	McDFldi// !NDFDFFY 	M46TY..
 v M..aaa/KLLL6>DF!r   r-   )__name__
__module____qualname__r   r[   r^    r   r   rT   rT      s=        -! ! !     r   rT   )3__doc__
__future__r   r<   r   r@   picklepypicklecPicklecpickleImportError
exceptionsr   fiver   r/   pickle_loadloadsr0   version_infoior	   	cStringIOr
   dictdirr(   
_alias_sigr   r3   r   TERM_SIGNALTERM_SIGNAMEenvirongetr   setrO   rG   r>   rM   rL   r;   r+   r8   rC   r6   rJ   rR   objectrT   rb   r   r   <module>rz      sA  . . ' & & & & & 				  



       GGG , + + + + +      		Hk| A!11111111 1 1 1000000001 
  %(S[[   
 
 (  J.8wwvz**++    #NI \
// 7&& K "/99++CCEE -8)3355   , g ) ) ) %    
    & & &   ,% 	1 	1 	1 	1    F     s0    ))#A* *A87A8B..B65B6