o
    ҷh!                     @  sb   d dl mZ 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s*er*J dddZ
dS )    )annotationsN)TYPE_CHECKING   )_core_subprocesswin32linuxprocess_subprocess.ProcessreturnNonec                   s   t  zddlm  W n ty   d Y nw d fdd	ztjtjB gd W n
 ty:   Y d S w dfdd}t 	j
tj|I d H  d S )Nr   )KQ_NOTE_EXITl        flagsintr   select.keventc                   s   t jjt j|  dS )N)filterr   fflags)selectkeventpidKQ_FILTER_PROC)r   )r   r	    S/var/www/html/venv/lib/python3.10/site-packages/trio/_subprocess_platform/kqueue.py
make_event   s   z&wait_child_exiting.<locals>.make_event__core.RaiseCancelT_core.Abortc                   s     tjgd tjjS )Nr   )controlr   KQ_EV_DELETEr   Abort	SUCCEEDED)r   )kqueuer   r   r   abort,   s   z!wait_child_exiting.<locals>.abort)r   r   r   r   )r   r   r   r   )r   current_kqueuer   r   ImportErrorr   	KQ_EV_ADDKQ_EV_ONESHOTProcessLookupErrorwait_keventr   r   )r	   r"   r   )r   r!   r   r	   r   wait_child_exiting   s   
r)   )r	   r
   r   r   )
__future__r   r   systypingr    r   r   platformr)   r   r   r   r   <module>   s    