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__/reduction.cpython-39.pyc
a

X>h�$�@sddlZddlZddlZddlZddlZddlZddlmZgd�Zej	ddkZ
ejdkpzeed�ozeed�ozeejd	�Z
e
r�ddlZGd
d�dej�ZnGdd�dej�ZejZd6d
d�Zejdk�regd�7ZddlmZd7dd�Zdd�Zdd�Zdd�ZGdd�d�ZnFegd�7ZddlZejdkZdd�Zd d!�Zd"d�Zd#d�Zd$d%�Zd&d'�ZGd(d)�d)�Z ee!e �j"�e�d*d+�Z#ee!e$j%�e#�ee!e&j'�e#�d,d-�Z(d.d/�Z)eej*e(�ejdk�r�d0d1�Z+d2d3�Z,eeje+�nd4d1�Z+d5d3�Z,eeje+�dS)8�N�)�context)�send_handle�recv_handle�ForkingPickler�register�dump��win32�CMSG_LEN�
SCM_RIGHTS�sendmsgcsXeZdZdZiZejZ�fdd�Ze	dd��Z
e	ddd��Ze	dd	d
��Ze
jZ�ZS)
r�)Pickler subclass used by multiprocessing.cs.tt|�j|�|j��|_|j�|j�dS�N)�superr�__init__�_copyreg_dispatch_table�copy�dispatch_table�update�_extra_reducers)�self�args��	__class__��</usr/local/lib/python3.9/site-packages/billiard/reduction.pyr*szForkingPickler.__init__cCs||j|<dS)�&Register a reduce function for a type.N)r)�cls�type�reducerrrr/s�ForkingPickler.registerNcCs t��}|||��|�|��Sr)�io�BytesIOr�	getbuffer�r�obj�protocol�bufrrr�dumps4s�ForkingPickler.dumpscCs|�|���Sr)�loadsr$�rr(r'rrr�loadbuf:s�ForkingPickler.loadbuf)N)N)�__name__�
__module__�__qualname__�__doc__r�copyregrrr�classmethodrr)r-�pickler+�
__classcell__rrrrr%s
rc@sVeZdZdZejj��Zedd��Z	eddd��Z
eddd��Zeejfd	d
��ZdS)
rrcs�fdd�}||j|<dS)rcs�|�}|j|d|i�dS)Nr&)�save_reduce)rr&�rv�r rr�
dispatcherIsz+ForkingPickler.register.<locals>.dispatcherN)�dispatch)rrr r:rr9rrFsr!NcCs t��}|||��|�|��Sr)r"r#r�getvaluer%rrrr)Nsr*cCs|�|���Sr)r+r<r,rrrr-Tsr.cCst|tj�r|��}||�Sr)�
isinstancer"r#r<)rr(r+rrrr+XszForkingPickler.loads)N)N)
r/r0r1r2r5�Picklerr;rr4rr)r-r+rrrrrBs
cCst||��|�dS)z3Replacement for pickle.dump() using ForkingPickler.N)rr)r&�filer'rrrr`sr)�	DupHandle�	duplicate�steal_handle)�_winapiFcCs*|durt��}t�t��||d|tj�S)z<Duplicate a handle.  (target_process is a handle not a pid!)Nr)rC�GetCurrentProcess�DuplicateHandle�DUPLICATE_SAME_ACCESS)�handleZtarget_process�inheritablerrrrAms
�rAc	CsNt�tjd|�}z,t�||t��ddtjtjB�Wt�|�St�|�0dS)z5Steal a handle from process identified by source_pid.FrN)rC�OpenProcess�PROCESS_DUP_HANDLErErDrF�DUPLICATE_CLOSE_SOURCE�CloseHandle)Z
source_pidrGZsource_process_handlerrrrBus�

�
�rBcCst|tj|�}|�|�dS�z&Send a handle over a local connection.N)r@rCrF�send)�connrG�destination_pidZdhrrrr�srcCs|����S)�)Receive a handle over a local connection.)�recv�detach)rOrrrr�src@s"eZdZdZddd�Zdd�ZdS)r@zPicklable wrapper for a handle.Nc	Csf|durt��}t�tjd|�}z(t�t��|||dd�|_Wt�|�nt�|�0||_	||_
dS)NFr)�os�getpidrCrIrJrErD�_handlerL�_access�_pid)rrG�access�pid�procrrrr�s
�zDupHandle.__init__c	Csb|jt��kr|jSt�tjd|j�}z*t�||jt��|j	dtj
�Wt�|�St�|�0dS)z1Get the handle.  This should only be called once.FN)rXrTrUrVrCrIrJrErDrWrKrL)rr[rrrrS�s
�
�
�zDupHandle.detach)N)r/r0r1r2rrSrrrrr@�s
r@)�DupFd�sendfds�recvfds�darwincCsVt�d|�}tt|�dg�}|�|gtjtj|fg�trR|�d�dkrRt	d��dS)z,Send an array of fds over an AF_UNIX socket.�i�r�Az%did not receive acknowledgement of fdN)
�array�bytes�lenr
�socket�
SOL_SOCKETr�ACKNOWLEDGErR�RuntimeError)�sock�fds�msgrrrr]�s
r]c	Cs�t�d�}|j|}|�dt�|��\}}}}|s:|s:t�z�trJ|�d�t|�dkrft	dt|���|d\}}	}
|tj
kr�|	tjkr�t|
�|jdkr�t�|�
|
�t|�d|dks�J�t|�WSWnttfy�Yn0t	d��dS)	z/Receive an array of fds over an AF_UNIX socket.r`rrbzreceived %d items of ancdatarrazInvalid data receivedN)rc�itemsize�recvmsgrfr�EOFErrorrhrNrerirgr�
ValueError�	frombytes�list�
IndexError)rj�size�aZ
bytes_sizerl�ancdata�flags�addr�
cmsg_level�	cmsg_type�	cmsg_datarrrr^�s4


�

�
�
r^cCsJ|��}t�|tjtj��}t||g�Wd�n1s<0YdSrM)�filenorf�fromfd�AF_UNIX�SOCK_STREAMr])rOrGrP�fd�srrrr�scCsL|��}t�|tjtj��}t|d�dWd�S1s>0YdS)rQrrN)r|rfr}r~rr^)rOr�r�rrrr�scCsFt��}|dur |�|�|��Str:ddlm}|�|�Std��dS)zReturn a wrapper for an fd.Nr)�resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenr\Zduplicate_for_child�HAVE_SEND_HANDLE�r�rp)r�Z	popen_objr�rrrr\�s
r\cCs2|jdurt|j|jjffSt|j|jjffSdSr)�__self__�getattrr�__func__r/��mrrr�_reduce_method�s
r�c@seZdZdd�ZdS)�_CcCsdSrr)rrrr�f�sz_C.fN)r/r0r1r�rrrrr��sr�cCst|j|jffSr)r��__objclass__r/r�rrr�_reduce_method_descriptorsr�cCst|j|j|jpiffSr)�_rebuild_partial�funcr�keywords)�prrr�_reduce_partialsr�cCstj|g|�Ri|��Sr)�	functools�partial)r�rr�rrrr�
sr�cCsddlm}t||�ffS)Nr)�	DupSocket)r�r��_rebuild_socket)r�r�rrr�_reduce_socketsr�cCs|��Sr)rS)Zdsrrrr�sr�cCs"t|���}t||j|j|jffSr)r\r|r��familyr�proto)r��dfrrrr�scCs|��}tj||||d�S)N)r|)rSrf)r�r�rr�r�rrrr�"s)N)NF)-r�r"rTr5rf�sysr�r�__all__�version_info�PY3�platform�hasattrr�r3r>rrr�compatrCrArBrrr@rcrhr]r^r\r�r�rr�r�rr�append�int�__add__r�r�r�r�r�rrrr�<module>
sh

�
�


#