Ë
    òT•jI	  ã                   ó<   — d dl Z d dlZddlmZ dgZ G d„ de«      Zy)é    Né   )ÚutilÚPopenc                   ó`   — e Zd ZdZd„ Zd„ Zej                  fd„Zdd„Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zy)r   Úforkc                 ój   — t        j                  «        d | _        d | _        | j	                  |«       y ©N)r   Ú_flush_std_streamsÚ
returncodeÚ	finalizerÚ_launch)ÚselfÚprocess_objs     ú1/usr/lib/python3.12/multiprocessing/popen_fork.pyÚ__init__zPopen.__init__   s(   € Ü×ÑÔ!ØˆŒØˆŒØ�‰�[Õ!ó    c                 ó   — |S r	   © )r   Úfds     r   Úduplicate_for_childzPopen.duplicate_for_child   s   € Øˆ	r   c                 óê   — | j                   €M	 t        j                  | j                  |«      \  }}|| j                  k(  rt        j
                  |«      | _         | j                   S # t        $ r Y y w xY wr	   )r   ÚosÚwaitpidÚpidÚOSErrorÚwaitstatus_to_exitcode)r   Úflagr   Ústss       r   Úpollz
Popen.poll   sh   € Ø�?‰?Ð"ðÜŸ:™: d§h¡h°Ó5‘��Sð
 �d—h‘hŠÜ"$×";Ñ";¸CÓ"@�”Ø�‰Ðøô ò ñ ðús   Ž#A& Á&	A2Á1A2Nc                 óÀ   — | j                   €G|�ddlm}  || j                  g|«      sy | j	                  |dk(  rt
        j                  «      S d«      S | j                   S )Nr   )Úwaitg        )r   Úmultiprocessing.connectionr!   Úsentinelr   r   ÚWNOHANG)r   Útimeoutr!   s      r   r!   z
Popen.wait$   sS   € Ø�?‰?Ð"ØÐ"Ý;Ù˜TŸ]™]˜O¨WÔ5Øà—9‘9¨7°cª>œRŸZ™ZÓAÐA¸qÓAÐAØ�‰Ðr   c                 ó¸   — | j                   €"	 t        j                  | j                  |«       y y # t        $ r Y y t
        $ r | j                  d¬«      €‚ Y y w xY w)Ngš™™™™™¹?)r%   )r   r   Úkillr   ÚProcessLookupErrorr   r!   )r   Úsigs     r   Ú_send_signalzPopen._send_signal.   s]   € Ø�?‰?Ð"ðÜ—‘˜Ÿ™ #Õ&ð #øô &ò ÙÜò Ø—9‘9 S�9Ó)Ð1Øñ 2ðús   Ž 0 °	A»AÁAc                 óB   — | j                  t        j                  «       y r	   )r*   ÚsignalÚSIGTERM©r   s    r   Ú	terminatezPopen.terminate8   ó   € Ø×Ñœ&Ÿ.™.Õ)r   c                 óB   — | j                  t        j                  «       y r	   )r*   r,   ÚSIGKILLr.   s    r   r'   z
Popen.kill;   r0   r   c                 óH  — d}t        j                  «       \  }}t        j                  «       \  }}t        j                  «       | _        | j                  dk(  rS	 t        j                  |«       t        j                  |«       |j                  |¬«      }t        j                  |«       y t        j                  |«       t        j                  |«       t        j                  | t        j                  ||f«      | _
        || _        y # t        j                  |«       w xY w)Nr   r   )Úparent_sentinel)r   Úpiper   r   ÚcloseÚ
_bootstrapÚ_exitr   ÚFinalizeÚ	close_fdsr   r#   )r   r   ÚcodeÚparent_rÚchild_wÚchild_rÚparent_ws          r   r   zPopen._launch>   sÉ   € ØˆÜŸG™G›IÑˆ�'ÜŸG™G›IÑˆ�Ü—7‘7“9ˆŒØ�8‰8�qŠ=ðÜ—‘˜Ô"Ü—‘˜Ô"Ø"×-Ñ-¸gÐ-ÓF�ä—‘˜•ä�H‰H�WÔÜ�H‰H�WÔÜ!Ÿ]™]¨4´·±Ø,4°hÐ+@óBˆDŒNà$ˆD�Møô —‘˜•ús   Á<D
 Ä
D!c                 ó>   — | j                   �| j                  «        y y r	   )r   r.   s    r   r6   zPopen.closeQ   s   € Ø�>‰>Ð%Ø�N‰NÕð &r   r	   )Ú__name__Ú
__module__Ú__qualname__Úmethodr   r   r   r$   r   r!   r*   r/   r'   r   r6   r   r   r   r   r      s=   „ Ø€Fò"òð Ÿ
™
ó 
óòò*ò*ò%ó&r   )r   r,   Ú r   Ú__all__Úobjectr   r   r   r   ú<module>rH      s#   ðÛ 	Û å àˆ)€ôGˆFõ Gr   