
    x-j                         d dl Z d dlZd dlZd dlZddlmZ dZ e            ad Z	d Z
d Z G d d	          Zej        d
k    s ej        dk    se                    e
           dad ZdS )    N   )coreg      @c                  t    t           D ]/} 	 	 |                                  n# t          j        $ r Y nw xY w,0d S N)multiprocess_queue_set
get_nowaitqueueEmpty)
data_queues    ^/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/base/multiprocess_utils.py_clear_multiprocess_queue_setr       sf    ,  
	%%'''';   	  s   !33c                  H    t                       t          j                     d S r   )r   r   _cleanup_mmap_fds     r   _cleanupr   +   s#    !###r   c                  ,    t          j                     d S r   )r   r   r   r   r   _cleanup_mmapr   3   s    r   c                   P    e Zd Z e            Z e            Zeg fd            ZdS )CleanupFuncRegistrarc                 j      fd fd}dfd	 fd} ||            |           d S )Nc                       j         vrF	                j                                        d S #  j                                        w xY wd S r   )_executed_func_setadd)clsfunctions   r   _func_executorz5CleanupFuncRegistrar.register.<locals>._func_executorA   sc    s5559HJJJ*..x88888C*..x8888	 65s	   
2 Ac                     t          |           st          |  d          | j        vr0t          j                   j                            |            d S d S )Nz is not callable object.)callable	TypeError_registered_func_setatexitregisterr   )r   r   r   s    r   _func_registerz5CleanupFuncRegistrar.register.<locals>._func_registerH   sn    H%% G8 E E EFFFs777///(,,X66666 87r   c                 z                  | -| t           j        k    rt          t          j        |            d S d S r   )signalSIGINTKeyboardInterruptsysexit)signumframer   s     r   _signal_handlerz6CleanupFuncRegistrar.register.<locals>._signal_handlerP   sH    N!V]**++      "!r   c                 :   t          |           } | D ]}t          j        |          }|t          j        t          j        fvrV|t          j        k    r|t          j        u rP|j        vr.t          j        |           j        	                    |           d S r   )
setr&   SIG_DFLSIG_IGNr'   default_int_handlerr!   r"   r#   r   )signalssigorig_handlerr-   r   s      r   _signal_registerz7CleanupFuncRegistrar.register.<locals>._signal_registerW   s    'llG 
C 
C%}S/BB'GGGv},,(F,FFF #3+CCC555044\BBB
C 
Cr   )NNr   )r   r   r3   r$   r6   r   r-   s   ``   @@r   r#   zCleanupFuncRegistrar.register?   s    	9 	9 	9 	9 	9 	9	7 	7 	7 	7 	7 	7	! 	! 	! 	! 	! 	!	C 	C 	C 	C 	C 	C 	!!!x     r   N)__name__
__module____qualname__r/   r   r!   classmethodr#   r   r   r   r   r   9   sM        355(* (! (! (! [(! (! (!r   r   darwinwin32Fc                      t           rd S t          j        t          j                  t	                    sd fd} t          j        t          j        |            da d S )Nc                 N    t          j                      | |           d S d S r   )r   _throw_error_if_process_failed)r+   r,   current_handlers     r   __handler__z)_set_SIGCHLD_handler.<locals>.__handler__   s:     	+---&OFE***** '&r   T)_SIGCHLD_handler_setr&   	getsignalSIGCHLDr   )rA   r@   s    @r   _set_SIGCHLD_handlerrE   x   sr     &v~66OO$$ + + + + + M&.+...r   )r"   r	   r&   r)    r   MP_STATUS_CHECK_INTERVALr/   r   r   r   r   r   platformr#   rB   rE   r   r   r   <module>rI      s       



        
        /! /! /! /! /! /! /! /!p 	  CLG$;$;!!(+++           r   