Your IP : 3.144.240.12


Current Path : /opt/alt/python313/lib64/python3.13/multiprocessing/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/multiprocessing/__pycache__/heap.cpython-313.opt-2.pyc

�

*}gj-���SSKrSSKJr SSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
 SSKJr S/r
\RS:XaSSKr"SS	\5rO$"S
S	\5rSrSr\	R("\\5 "S
S\5r"SS\5rg)�N)�defaultdict�)�	reduction�assert_spawning)�util�
BufferWrapper�win32c�H�\rSrSr\R
"5rSrSrSr	Sr
g)�Arena�c�v�Xl[S5HpnS[R"5[	UR
54-n[R"SXS9n[R"5S:Xa OUR5 Mr [S5eX0lX@lURUR4Ul
g)N�dz	pym-%d-%s�����tagnamerzCannot find name for new mmap)�size�range�os�getpid�next�_rand�mmap�_winapi�GetLastError�close�FileExistsError�name�buffer�_state)�selfr�ir�bufs     �;/opt/alt/python313/lib64/python3.13/multiprocessing/heap.py�__init__�Arena.__init__&s����I��3�Z��"�b�i�i�k�4��
�
�3C�%D�D���i�i��D�7���'�'�)�Q�.���	�	��
 �&�&E�F�F��I��K��9�9�d�i�i�0�D�K�c�0�[U5 UR$�N)rr)r s r#�__getstate__�Arena.__getstate__5s���D�!��;�;�r&c��U=uUlUlUl[R"SURURS9Ulg)Nrr)rrrrr)r �states  r#�__setstate__�Arena.__setstate__9s3��16�6� �D�I�t�y�4�;��)�)�B��	�	�4�9�9�E�D�Kr&)rrrrN)�__name__�
__module__�__qualname__�__firstlineno__�tempfile�_RandomNameSequencerr$r)r-�__static_attributes__�r&r#rrs"��
�,�,�.��
	1�	�	Fr&rc�P�\rSrSr\R
S:XaS/rO/rSSjrSrSr	g)	r�C�linuxz/dev/shmc���XlX lUS:Xa�[R"S[R
"5-UR
U5S9uUln[R"U5 [R"U[RUR45 [R"URU5 [R"URUR5Ul
g)Nrzpym-%d-)�prefix�dir)r�fdr3�mkstemprr�_choose_dir�unlinkr�Finalizer�	ftruncaterr)r rr=rs    r#r$r%Ms����I��G��R�x�!)� 0� 0�%�b�i�i�k�1��)�)�$�/�!1�
�����	�	�$���
�
�d�B�H�H�t�w�w�j�9����T�W�W�d�+��)�)�D�G�G�T�Y�Y�7�D�Kr&c��URH:n[R"U5nURUR-U:�dM8Us $ [
R"5$r()�_dir_candidatesr�statvfs�f_bavail�f_frsizer�get_temp_dir)r r�d�sts    r#r?�Arena._choose_dir[sL���)�)���Z�Z��]���;�;����,��4��H�*��$�$�&�&r&)rr=rN)r)
r/r0r1r2�sys�platformrDr$r?r5r6r&r#rrCs&��
�<�<�7�"�)�l�O� �O�	8�	'r&c��URS:Xa[S5e[UR[R
"UR544$)NrzDArena is unpicklable because forking was enabled when it was created)r=�
ValueError�
rebuild_arenarr�DupFd)�as r#�reduce_arenarSdsC���4�4�2�:��G�H�
H��q�v�v�y���q�t�t�'<�=�=�=r&c�4�[XR55$r()r�detach)r�dupfds  r#rPrPjs���T�<�<�>�*�*r&c��\rSrSrSrSrSr\R4Sjr	\
S5rSrSr
SrS	rS
rSrSrS
rSrSrg)�Heap�s�i@c��[R"5Ul[R"5UlXl/Ul0Ul0Ul	0Ul
[[5Ul
/Ul/UlSUlSUlg�Nr)rr�_lastpid�	threading�Lock�_lock�_size�_lengths�_len_to_seq�_start_to_block�_stop_to_blockr�set�_allocated_blocks�_arenas�_pending_free_blocks�
_n_mallocs�_n_frees)r rs  r#r$�
Heap.__init__{sw���	�	���
��^�^�%��
��
���
���� "���!���"-�S�!1������%'��!������
r&c��US-
nX-U)-$)Nrr6)�n�	alignment�masks   r#�_roundup�
Heap._roundup�s���1�}����T�E�!�!r&c�L�UR[URU5[R5nURUR
:aU=RS-sl[R"SU5 [U5nURRU5 USU4$)N�z"allocating a new mmap of length %dr)rq�maxrar�PAGESIZE�_DOUBLE_ARENA_SIZE_UNTILr�inforrh�append)r r�length�arenas    r#�
_new_arena�Heap._new_arena�sy�����s�4�:�:�t�4�d�m�m�D���:�:��5�5�5��J�J�!�O�J��	�	�6��?��f�
�������E�"��q�&�!�!r&c��URnX R:agURRU5nURUS4	UR
X4	URRU5 URUnURUSU45 U(d)URU	URRU5 ggr\)
r�_DISCARD_FREE_SPACE_LARGER_THANrg�poprdrerh�removercrb)r r{rz�blocks�seqs     r#�_discard_arena�Heap._discard_arena�s��������8�8�8���'�'�+�+�E�2��� � �%���,������0������E�"����v�&���
�
�E�1�f�%�&��� � ��(��M�M� � ��(�r&c�|�[R"URU5nU[UR5:XaUR	U5$URUnUR
UnUR
5nU(dUR
U	URU	UupgnURXg4	URXh4	U$r()	�bisect�bisect_leftrb�lenr|rcr�rdre)	r rr!rzr��blockr{�start�stops	         r#�_malloc�Heap._malloc�s������t�}�}�d�3����D�M�M�"�"��?�?�4�(�(��]�]�1�%�F��"�"�6�*�C��G�G�I�E���$�$�V�,�d�m�m�A�.>�$���t�� � �%��0�����
�.��r&c���Uup#nURX#4nURU5up6URX$4nURU5updX#U4nXC-
nURURU5 XRX#4'XRX$4'g![a Nvf=f![a Nbf=f![a4 U/URU'[R"URU5 N|f=fr()	re�_absorb�KeyErrorrdrcryr��insortrb)	r r�r{r�r��
prev_block�_�
next_blockrzs	         r#�_add_free_block�Heap._add_free_block�s
��$���t�	0��,�,�e�^�<�J��|�|�J�/�H�E�	/��-�-�u�m�<�J��l�l�:�.�G�A��t�$�����	1����V�$�+�+�E�2�
05���e�^�,�-2���U�M�*��-�	��	���	��	���	1�(-�w�D���V�$��M�M�$�-�-��0�	1�s4�B�B$�B4�
B!� B!�$
B1�0B1�4;C2�1C2c���Uup#nURX#4	URX$4	XC-
nURUnURU5 U(d(URU	URRU5 X44$r()rdrercr�rb)r r�r{r�r�rzr�s       r#r��Heap._absorb�sz��$���t�� � �%��0�����
�.�������v�&���
�
�5���� � ��(��M�M� � ��(��{�r&c��Uup#nURUnURX445 U(dURU5 ggr()rgr�r�)r r�r{r�r�r�s      r#�_remove_allocated_block�Heap._remove_allocated_block�s@��"���d��'�'��.���
�
�u�m�$������&�r&c��URR5nURU5 UR	U5 M?![a gf=fr()rir��
IndexErrorr�r��r r�s  r#�_free_pending_blocks�Heap._free_pending_blockssU���
��1�1�5�5�7��
� � ��'��(�(��/�
���
��
�s�A�
A�
Ac�4�[R"5UR:wa8[SR	[R"5UR55eUR
R
S5(dURRU5 gU=RS-
sl	UR5 URU5 URU5 UR
R5 g!UR
R5 f=f)Nz$My pid ({0:n}) is not last pid {1:n}Fr)rrr]rO�formatr`�acquireriryrkr�r�r��releaser�s  r#�free�	Heap.frees����9�9�;�$�-�-�'��6�=�=��I�I�K��
�
�/�0�
0��z�z�!�!�%�(�(�
�%�%�,�,�U�3�
%��
�
��"�
��)�)�+��$�$�U�+��,�,�U�3��
�
�"�"�$���
�
�"�"�$�s
�AC;�;Dc��US:a[SRU55e[RU::a[	SRU55e[
R"5UR:waUR5 UR U=RS-
sl
UR5 UR[US5UR5nURU5up#nX1-nXT:aUR!X%U45 UR"UR%X545 X#U4sSSS5 $!,(df   g=f)Nr�Size {0:n} out of range�Size {0:n} too larger)rOr�rL�maxsize�
OverflowErrorrrr]r$r`rjr�rqru�
_alignmentr�r�rg�add)r rr{r�r��	real_stops      r#�malloc�Heap.malloc(s����!�8��6�=�=�d�C�D�D��;�;�$��� 6� =� =�d� C�D�D�
�9�9�;�$�-�-�'��M�M�O�
�Z�Z��O�O�q� �O��%�%�'��=�=��T�1��t���?�D�#'�<�<��#5� �U�4���I����$�$�e��%=�>��"�"�5�)�-�-�u�.@�A��)�,��Z�Z�s
�BD6�6
E)rgrhr]rcrbr`rkrjrirardreN)r/r0r1r2r�rrwrrvr$�staticmethodrqr|r�r�r�r�r�r�r�r�r5r6r&r#rXrXssb���J�&3�#�,�� �M�M��:�"��"�

"�)�$�"3�<
�'�0�%�8-r&rXc�.�\rSrSr\"5rSrSrSrg)riBc�L�US:a[SRU55e[RU::a[	SRU55e[
RRU5nX!4Ul[R"U[
RRU4S9 g)Nrr�r�)�args)rOr�rLr�r�r�_heapr�rrrAr�)r rr�s   r#r$�BufferWrapper.__init__Fs����!�8��6�=�=�d�C�D�D��;�;�$��� 6� =� =�d� C�D�D��#�#�*�*�4�0���m����
�
�d�M�/�/�4�4�E�8�Dr&c�X�URuupp4[UR5X"U-$r()r�
memoryviewr)r r{r�r�rs     r#�create_memoryview�BufferWrapper.create_memoryviewOs+��%)�[�[�"���t��%�,�,�'��D�j�9�9r&)rN)	r/r0r1r2rXr�r$r�r5r6r&r#rrBs���F�E�E�:r&)r��collectionsrrrrLr3r^�contextrr�r�__all__rMr�objectrrSrP�registerrXrr6r&r#�<module>r�s����#��	�
���/���
���<�<�7���F��F�H'��'�B>�+����u�l�+�I-�6�I-�^:�F�:r&

?>