Your IP : 3.144.83.188


Current Path : /opt/alt/python313/lib64/python3.13/asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/asyncio/__pycache__/windows_utils.cpython-313.opt-1.pyc

�

1}g���"�SrSSKr\RS:wa\"S5eSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SrSr\Rr
\Rr\R"5rSS\S	.S
jr"SS5r"S
S\R&5rg)z)Various Windows specific bits and pieces.�N�win32z
win32 only)�pipe�Popen�PIPE�
PipeHandlei F)TT)�duplex�
overlapped�bufsizec
��[R"SR[R"5[[55S9nU(a4[Rn[R[R-nX"pvO#[Rn[RnSUpvU[R-nUS(aU[R-nUS(a[RnOSnS=p�[R"X4[RSXg[R [R"5n	[R$"X5S[R"[R&U[R"5n
[R("U	SS9nUR+S5 X�4$! U	b[R,"U	5 U
b[R,"U
5 e=f)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)�prefixr�NT�r	)�tempfile�mktemp�format�os�getpid�next�
_mmap_counter�_winapi�PIPE_ACCESS_DUPLEX�GENERIC_READ�
GENERIC_WRITE�PIPE_ACCESS_INBOUND�FILE_FLAG_FIRST_PIPE_INSTANCE�FILE_FLAG_OVERLAPPED�CreateNamedPipe�	PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL�
CreateFile�
OPEN_EXISTING�ConnectNamedPipe�GetOverlappedResult�CloseHandle)rr	r
�address�openmode�access�obsize�ibsize�flags_and_attribs�h1�h2�ovs            �</opt/alt/python313/lib64/python3.13/asyncio/windows_utils.pyrr sx���o�o�1�8�8��I�I�K��m�,�.�/�G���-�-���%�%��(=�(=�=�� ���.�.���&�&���G����5�5�5�H��!�}��G�0�0�0���!�}�#�8�8�����N�B��
�
$�
$��w�0�0�
�v�w�;�;�W�\�\�K���
�
��Q����g�.C�.C��w�|�|�-���
%�
%�b�T�
:��
���t�$��v�
���
�>�����#�
�>�����#�
�s
�4B2F'�'5Gc��\rSrSrSrSrSr\S5rSr	\
RS.Sjr\
R4S	jrS
rSrSrg
)r�Qz�Wrapper for an overlapped pipe handle which is vaguely file-object like.

The IOCP event loop can use these instead of socket objects.
c��Xlg�N��_handle��self�handles  r/�__init__�PipeHandle.__init__Vs����c�|�URbSUR<3nOSnSURRSUS3$)Nzhandle=�closed�<� �>)r5�	__class__�__name__r6s  r/�__repr__�PipeHandle.__repr__YsB���<�<�#��t�|�|�.�/�F��F��4�>�>�*�*�+�1�V�H�A�6�6r;c��UR$r3r4�r7s r/r8�PipeHandle.handle`s���|�|�r;c�J�URc[S5eUR$)NzI/O operation on closed pipe)r5�
ValueErrorrFs r/�fileno�PipeHandle.filenods"���<�<���;�<�<��|�|�r;)r%c�R�URbU"UR5 SUlggr3r4)r7r%s  r/�close�PipeHandle.closeis$���<�<�#�����%��D�L�$r;c�`�URb!U"SU<3[US9 UR5 gg)Nz	unclosed )�source)r5�ResourceWarningrM)r7�_warns  r/�__del__�PipeHandle.__del__ns-���<�<�#��I�d�X�&���E��J�J�L�$r;c��U$r3�rFs r/�	__enter__�PipeHandle.__enter__ss���r;c�$�UR5 gr3)rM)r7�t�v�tbs    r/�__exit__�PipeHandle.__exit__vs���
�
�r;r4N)rB�
__module__�__qualname__�__firstlineno__�__doc__r9rC�propertyr8rJrr%rM�warnings�warnrSrWr]�__static_attributes__rVr;r/rrQsR����7������
$+�#6�#6� �
%�M�M��
�r;rc�0^�\rSrSrSrSU4SjjrSrU=r$)r�}z�Replacement for subprocess.Popen using overlapped pipe handles.

The stdin, stdout, stderr are None or instances of PipeHandle.
c��>�S=n=pxS=n	=p�U[:Xa2[SSS9up�[R"U[R
5nOUnU[:Xa#[SS9up�[R"U
S5nOUnU[:Xa#[SS9up�[R"US5nOU[:XaUnOUn[TU] "U4XgUS.UD6 U	b[U	5Ul
U
b[U
5UlUb[U5UlU[:Xa[R"U5 U[:Xa[R"U5 U[:Xa[R"U5 gg! X�U4HnUcM[R"U5 M  e=f!U[:Xa[R"U5 U[:Xa[R"U5 U[:Xa[R"U5 ff=f)N)FTT)r	r)TFrr)�stdin�stdout�stderr)rr�msvcrt�open_osfhandler�O_RDONLY�STDOUT�superr9rrjrkrlrr%rM)r7�argsrjrkrl�kwds�	stdin_rfd�
stdout_wfd�
stderr_wfd�stdin_wh�	stdout_rh�	stderr_rh�stdin_rh�	stdout_wh�	stderr_wh�hrAs                �r/r9�Popen.__init__�s����/3�2�	�2�J�+/�/��/�9��D�=�!%��t�!L��H��-�-�h����D�I��I��T�>�#'�=�#A� �I��.�.�y�!�<�J��J��T�>�#'�=�#A� �I��.�.�y�!�<�J�
�v�
�#�J��J�	%��G��T�
8��$.�
8�26�
8��#�'��1��
��$�(��3����$�(��3�����}�����#���~�����$���~�����$���#	��9�5���=��'�'��*�6�
����}�����#���~�����$���~�����$��s%�6E%�
9F�%
F�3F�F�A#G4)rlrjrk)NNN)rBr_r`rarbr9rf�
__classcell__)rAs@r/rr}s����+%�+%r;r)rb�sys�platform�ImportErrorr�	itertoolsrmr�
subprocessrrd�__all__�BUFSIZErrp�countrrrrrVr;r/�<module>r�s���/�
��<�<�7��
�l�
#�#���
�	����0��������	�	�	�����!�
��\�7�+�b&�&�X0%�J���0%r;

?>