HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/billiard/__pycache__/heap.cpython-39.pyc
a

X>h�#�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddlm
Z
ddlmZddlm
Z
mZdgZejddkZejd	kr�Gd
d�d�Zn*Gdd�d�Zd
d�Zdd�Ze
�ee�Gdd�d�ZGdd�d�ZdS)�N�)�context)�	reduction)�util)�	_billiard�win32�
BufferWrapper�rc@s,eZdZe��Zdd�Zdd�Zdd�ZdS)�ArenacCs�||_td�D]B}dt��t|j�f}tjd||d�}t��dkrHqf|�	�qt
d�}tj|_|�||_
||_|j|j
f|_dS)N�dz	pym-%d-%s�����tagnamerzCannot find name for new mmap)�size�range�os�getpid�next�_rand�mmaprZGetLastError�close�IOError�errno�EEXIST�name�buffer�_state)�selfr�ir�buf�exc�r!�7/usr/local/lib/python3.9/site-packages/billiard/heap.py�__init__'s
�Arena.__init__cCst�|�|jS�N)rZassert_spawningr�rr!r!r"�__getstate__8s
zArena.__getstate__cCs,|\|_|_|_tjd|j|jd�|_dS)Nrr
)rrrrr)r�stater!r!r"�__setstate__<szArena.__setstate__N)	�__name__�
__module__�__qualname__�tempfile�_RandomNameSequencerr#r'r)r!r!r!r"r
#sr
c@seZdZddd�ZdS)r
rcCsF||_||_|dk�r0tr�tjdt��ft��d�\|_}t�	|�t�
|tj|jf�tj
|jddd��d}d}||kr�d|}t||�D]}|�|�q�~|�d||�|��|ks�J�Wd�n1s�0YnNtjdt��ft��d�\|_}t�	|�t�
|tj|jf�t�|j|�t�|j|j�|_dS)	Nrzpym-%d-)�prefix�dir�wbF)�closefdi�)r�fd�PY3r-�mkstemprrrZget_temp_dir�unlink�Finalizer�io�openr�write�tell�	ftruncaterr)rrr4r�f�bsZzeros�_r!r!r"r#Gs6
�
0�
r$N)r)r*r+r,r#r!r!r!r"r
EscCs(|jdkrtd��t|jt�|j�ffS)NrzCArena is unpicklable becauseforking was enabled when it was created)r4�
ValueError�
rebuild_arenarrZDupFd)�ar!r!r"�reduce_arenafs
rDcCst||���Sr%)r
�detach)rZdupfdr!r!r"rBlsrBc@sZeZdZdZejfdd�Zedd��Zdd�Z	dd	�Z
d
d�Zdd
�Zdd�Z
dd�ZdS)�Heap�cCsJt��|_t��|_||_g|_i|_i|_	i|_
t�|_g|_
g|_dSr%)rr�_lastpid�	threading�Lock�_lock�_size�_lengths�_len_to_seq�_start_to_block�_stop_to_block�set�_allocated_blocks�_arenas�_pending_free_blocks)rrr!r!r"r#zs

z
Heap.__init__cCs|d}|||@S�Nrr!)�n�	alignment�maskr!r!r"�_roundup�sz
Heap._roundupc	Cs�t�|j|�}|t|j�krj|�t|j|�tj�}|jd9_t	�
d|�t|�}|j�
|�|d|fS|j|}|j|}|��}|s�|j|=|j|=|\}}}|j||f=|j||f=|S)N�z"allocating a new mmap of length %dr)�bisect�bisect_leftrM�lenrY�maxrLr�PAGESIZEr�infor
rS�appendrN�poprOrP)	rrr�length�arena�seq�block�start�stopr!r!r"�_malloc�s"



zHeap._mallocc	Cs�|\}}}z|j||f}Wnty.Yn0|�|�\}}z|j||f}WntybYn0|�|�\}}|||f}||}z|j|�|�Wn,ty�|g|j|<t�|j|�Yn0||j||f<||j||f<dSr%)	rP�KeyError�_absorbrOrNrar[�insortrM)	rrfrdrgrhZ
prev_blockr@Z
next_blockrcr!r!r"�_free�s(

z
Heap._freecCs^|\}}}|j||f=|j||f=||}|j|}|�|�|sV|j|=|j�|�||fSr%)rOrPrN�removerM)rrfrdrgrhrcrer!r!r"rk�s


zHeap._absorbcCsBz|j��}Wnty$Yq>Yn0|j�|�|�|�qdSr%)rTrb�
IndexErrorrRrnrm�rrfr!r!r"�_free_pending_blocks�s
zHeap._free_pending_blockscCsjt��|jksJ�|j�d�s,|j�|�n:z,|��|j�	|�|�
|�W|j��n|j��0dS)NF)rrrHrK�acquirerTrarqrRrnrm�releaserpr!r!r"�free�sz	Heap.freecCs�d|krtjksnJ�t��|jkr2|��|j�v|��|�t	|d�|j
�}|�|�\}}}||}||kr�|�|||f�|||f}|j
�|�|Wd�S1s�0YdS)Nrr)�sys�maxsizerrrHr#rKrqrYr^�
_alignmentrirmrR�add)rrrdrgrhZnew_stoprfr!r!r"�malloc�s
zHeap.mallocN)r*r+r,rwrr_r#�staticmethodrYrirmrkrqrtryr!r!r!r"rFvs


rFc@s2eZdZe�Zdd�Zdd�Zdd�Zdd�Zd	S)
rcCsLd|krtjksnJ�tj�|�}||f|_tj|tjj|fd�dS)Nr)�args)	rurvr�_heapryrrr8rt)rrrfr!r!r"r#s
zBufferWrapper.__init__cCs4|j\\}}}}t�|j�\}}||ks,J�||Sr%)rrZaddress_of_bufferr)rrdrgrhr�addressrcr!r!r"�get_addressszBufferWrapper.get_addresscCs
|jdSrU)rr&r!r!r"�get_sizeszBufferWrapper.get_sizecCs&|j\\}}}}t|j�|||�Sr%)r�
memoryviewr)rrdrgrhrr!r!r"�create_memoryviewszBufferWrapper.create_memoryviewN)	r*r+r,rFr|r#r~rr�r!r!r!r"rs
)r[rr9rrrurIr-�rrrZ_extrr�__all__�version_infor5�platformr
rDrB�registerrFrr!r!r!r"�<module>
s,
"!