CasperSecurity

Current Path : /lib/python3.10/multiprocessing/__pycache__/
Upload File :
Current File : //lib/python3.10/multiprocessing/__pycache__/heap.cpython-310.pyc

o

`�wij-�@s�ddlZddlmZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZdgZ
ejdkrAddlZGdd	�d	e�ZnGd
d	�d	e�Zdd�Zd
d�Ze	�ee�Gdd�de�ZGdd�de�ZdS)�N)�defaultdict�)�	reduction�assert_spawning)�util�
BufferWrapper�win32c@s0eZdZdZe��Zdd�Zdd�Zdd�Z	dS)	�ArenazL
        A shared memory area backed by anonymous memory (Windows).
        cCsx||_td�D]!}dt��t|j�f}tjd||d�}t��dkr$n	|�	�qt
d��||_||_|j|jf|_
dS)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�buf�r�+/usr/lib/python3.10/multiprocessing/heap.py�__init__&s
�Arena.__init__cCst|�|jS�N)rr)rrrr �__getstate__5szArena.__getstate__cCs,|\|_|_|_tjd|j|jd�|_dS)Nrr)rrrrr)r�staterrr �__setstate__9szArena.__setstate__N)
�__name__�
__module__�__qualname__�__doc__�tempfile�_RandomNameSequencerr!r$r&rrrr r	sr	c@s8eZdZdZejdkrdgZngZd
dd�Zdd�Zd	S)r	zJ
        A shared memory area backed by a temporary file (POSIX).
        �linuxz/dev/shmrcCsx||_||_|dkr1tjdt��|�|�d�\|_}t�|�t�	|tj
|jf�t�|j|�t�|j|j�|_
dS)Nrzpym-%d-)�prefix�dir)r�fdr+�mkstemprr�_choose_dir�unlinkr�Finalizer�	ftruncaterr)rrr0rrrr r!Ms
�
r"cCs6|jD]}t�|�}|j|j|kr|Sqt��Sr#)�_dir_candidatesr�statvfs�f_bavail�f_frsizer�get_temp_dir)rr�d�strrr r2[s

�zArena._choose_dirN)r)	r'r(r)r*�sys�platformr6r!r2rrrr r	Cs

cCs(|jdkr	td��t|jt�|j�ffS)NrzDArena is unpicklable because forking was enabled when it was created)r0�
ValueError�
rebuild_arenarr�DupFd)�arrr �reduce_arenads
rCcCst||���Sr#)r	�detach)r�dupfdrrr r@jsr@c@szeZdZdZdZdZejfdd�Ze	dd��Z
dd�Zd	d
�Zdd�Z
d
d�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�Heap�i@cCsXt��|_t��|_||_g|_i|_i|_	i|_
tt�|_
g|_g|_d|_d|_dS�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)rrrrr r!{s



z
Heap.__init__cCs|d}|||@S)Nrr)�n�	alignment�maskrrr �_roundup�sz
Heap._roundupcCsZ|�t|j|�tj�}|j|jkr|jd9_t�d|�t|�}|j	�
|�|d|fS)N�z"allocating a new mmap of length %dr)r[�maxrMr�PAGESIZE�_DOUBLE_ARENA_SIZE_UNTILr�infor	rT�append)rr�length�arenarrr �
_new_arena�s
zHeap._new_arenacCs�|j}||jkr
dS|j�|�}|rJ�|j|df=|j||f=|j�|�|j|}|�|d|f�|sA|j|=|j	�|�dSdSrH)
r�_DISCARD_FREE_SPACE_LARGER_THANrS�poprPrQrT�removerOrN)rrcrb�blocks�seqrrr �_discard_arena�s

�zHeap._discard_arenac	Cs|t�|j|�}|t|j�kr|�|�S|j|}|j|}|��}|s+|j|=|j|=|\}}}|j||f=|j||f=|Sr#)	�bisect�bisect_leftrN�lenrdrOrfrPrQ)	rrrrbri�blockrc�start�stoprrr �_malloc�s



zHeap._mallocc	Cs�|\}}}z	|j||f}Wn	tyYnw|�|�\}}z	|j||f}Wn	ty1Ynw|�|�\}}|||f}||}z
|j|�|�Wntyb|g|j|<t�|j|�Ynw||j||f<||j||f<dSr#)	rQ�KeyError�_absorbrPrOrark�insortrN)	rrnrcrorp�
prev_block�_�
next_blockrbrrr �_add_free_block�s.
��
�zHeap._add_free_blockcCs^|\}}}|j||f=|j||f=||}|j|}|�|�|s+|j|=|j�|�||fSr#)rPrQrOrgrN)rrnrcrorprbrirrr rs�s


zHeap._absorbcCs8|\}}}|j|}|�||f�|s|�|�dSdSr#)rSrgrj)rrnrcrorprhrrr �_remove_allocated_block�s

�zHeap._remove_allocated_blockcCs<	z|j��}Wn
tyYdSw|�|�|�|�qr#)rUrf�
IndexErrorrxry�rrnrrr �_free_pending_blockss�

�zHeap._free_pending_blockscCs�t��|jkrtd�t��|j���|j�d�s |j�|�dSz|j	d7_	|�
�|�|�|�|�W|j�
�dS|j�
�w)Nz$My pid ({0:n}) is not last pid {1:n}Fr)rrrIr?�formatrL�acquirerUrarWr|rxry�releaser{rrr �frees

��
z	Heap.freecCs�|dkrtd�|���tj|krtd�|���t��|jkr"|��|j	�D|j
d7_
|��|�t
|d�|j�}|�|�\}}}||}||krS|�|||f�|j|�||f�|||fWd�S1slwYdS)Nr�Size {0:n} out of range�Size {0:n} too larger)r?r}r=�maxsize�
OverflowErrorrrrIr!rLrVr|r[r]�
_alignmentrqrxrS�add)rrrcrorp�	real_stoprrr �malloc(s"
$�zHeap.mallocN)r'r(r)r�rer_rr^r!�staticmethodr[rdrjrqrxrsryr|r�r�rrrr rFss 

rFc@s"eZdZe�Zdd�Zdd�ZdS)rcCs^|dkrtd�|���tj|krtd�|���tj�|�}||f|_t	j
|tjj|fd�dS)Nrr�r�)�args)r?r}r=r�r�r�_heapr�rrr4r�)rrrnrrr r!Fs

zBufferWrapper.__init__cCs&|j\\}}}}t|j�|||�Sr#)r�
memoryviewr)rrcrorprrrr �create_memoryviewOszBufferWrapper.create_memoryviewN)r'r(r)rFr�r!r�rrrr rBs	)rk�collectionsrrrr=r+rJ�contextrr�r�__all__r>r�objectr	rCr@�registerrFrrrrr �<module>s(	
$!P
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY