o
    !j                     @   s   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d Z	dd Z
d	d
 ZG dd dZejdks=ejdks=ee
 dadd ZdS )    N   )coreg      @c               	   C   s4   t D ]} 	 z|   W n
 tjy   Y nw qqd S N)multiprocess_queue_set
get_nowaitqueueEmpty)Z
data_queue r	   _/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/base/multiprocess_utils.py_clear_multiprocess_queue_set    s   r   c                   C   s   t   t  d S r   )r   r   _cleanup_mmap_fdsr	   r	   r	   r
   _cleanup+   s   r   c                   C   s   t   d S r   )r   r   r	   r	   r	   r
   _cleanup_mmap3   s   r   c                   @   s(   e Zd Ze Ze Zeg fddZdS )CleanupFuncRegistrarc                    sL   fdd  fdd}d	 fdd	fdd}|| | d S )
Nc                	      s6    j vrz  W  j  d S  j  w d S r   )_executed_func_setaddr	   )clsfunctionr	   r
   _func_exectuorA   s
   
z5CleanupFuncRegistrar.register.<locals>._func_exectuorc                    s<   t | s
td|  | jvrt  j|  d S d S )Nz%s is not callable object.)callable	TypeError_registered_func_setatexitregisterr   )r   )r   r   r	   r
   _func_registerH   s   

z5CleanupFuncRegistrar.register.<locals>._func_registerc                    s.      | d ur| t jkrtt|  d S d S r   )signalSIGINTKeyboardInterruptsysexitsignumframe)r   r	   r
   _signal_handlerP   s   
z6CleanupFuncRegistrar.register.<locals>._signal_handlerc                    sh   t | } | D ]+}t| }|tjtjfvr1|tjkr!|tju r!q|jvr1t| j	| qd S r   )
setr   SIG_DFLSIG_IGNr   default_int_handlerr   r   r   r   )signalssigZorig_handler)r#   r   r	   r
   _signal_registerW   s   



z7CleanupFuncRegistrar.register.<locals>._signal_register)NNr	   )r   r   r(   r   r*   r	   )r   r#   r   r   r
   r   ?   s   zCleanupFuncRegistrar.registerN)__name__
__module____qualname__r$   r   r   classmethodr   r	   r	   r	   r
   r   9   s
    r   darwinwin32Fc                     sB   t rd S ttj t sd   fdd} ttj|  da d S )Nc                    s"   t    d ur | | d S d S r   )r   Z_throw_error_if_process_failedr    Zcurrent_handlerr	   r
   __handler__   s   z)_set_SIGCHLD_handler.<locals>.__handler__T)_SIGCHLD_handler_setr   	getsignalSIGCHLDr   )r2   r	   r1   r
   _set_SIGCHLD_handlerx   s   r6   )r   r   r   r    r   ZMP_STATUS_CHECK_INTERVALr$   r   r   r   r   r   platformr   r3   r6   r	   r	   r	   r
   <module>   s   8
