a
    xd                     @   s\   d dl Z d dlZd dlmZ ddlmZmZ e jdkr@e jdksHerHJ dddd	d
ZdS )    N)TYPE_CHECKING   )_core_subprocesswin32linuxz_subprocess.Process)processreturnc                    s   t  zddlm  W n ty.   d Y n0  fddztjtjB gd W n typ   Y d S 0 fdd}t 	j
tj|I d H  d S )Nr   )KQ_NOTE_EXITl        c                    s   t jjt j|  dS )N)filterflagsZfflags)selectZkeventpidKQ_FILTER_PROC)r   )r
   r    X/var/www/html/Ranjet/env/lib/python3.9/site-packages/trio/_subprocess_platform/kqueue.py<lambda>   s   z$wait_child_exiting.<locals>.<lambda>c                    s     tjgd tjjS )Nr   )controlr   ZKQ_EV_DELETEr   ZAbortZ	SUCCEEDED)_)kqueue
make_eventr   r   abort%   s    z!wait_child_exiting.<locals>.abort)r   Zcurrent_kqueuer   r
   ImportErrorr   Z	KQ_EV_ADDZKQ_EV_ONESHOTProcessLookupErrorZwait_keventr   r   )r   r   r   )r
   r   r   r   r   wait_child_exiting	   s    

r   )	sysr   typingr    r   r   platformr   r   r   r   r   <module>   s
   