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

X>h/+�@s<ddlZddlZddlZddlZddlZddlZddlmZddlm	Z
zej�e�
��ZWneyrdZYn0gd�Zdd�Zdd�Zd	d
�Zdd�Zefd
d�ZGdd�d�ZGdd�de�ZGdd�de�Ze�ae�d�ae�a[eZiZ ej!�"�D]0\Z#Z$e#dd�dk�rde#v�re#e e$<�qe�Z%dS)�N)�WeakSet��process)�BaseProcess�Process�current_process�active_childrencCstS)z@
    Return process object representing the current process
    )�_current_process�r
r
�:/usr/local/lib/python3.9/site-packages/billiard/process.pyr#srcCs|at_dS�N)r	�_mprocrr
r
r�_set_current_process*srcCs*tt�D]}|j��durt�|�qdSr)�list�	_children�_popen�poll�discard)�pr
r
r�_cleanup/src
Cs*z|��Wntttfy$Yn0dSr)�flush�AttributeError�EnvironmentError�NotImplementedError)�fr
r
r�_maybe_flush6srcCs*z
|�Wnty gYS0tt�S)zN
    Return list of process objects corresponding to live child processes
    )�	TypeErrorrr)rr
r
rr=s


rc@s2eZdZdZdd�Zddddidfdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
d5dd�Zdd�Zdd�Z
edd��Zejdd��Zedd��Zejdd��Zedd��Zejd d��Zed!d"��Zed#d$��ZeZed%d&��Zed'd(��Zed)d*��Zed+d,��Zed-d.��Zed/d0��Zd1d2�Zd3d4�ZdS)6rz�
    Process objects represent activity that is run in a separate process

    The class is analogous to `threading.Thread`
    cCs
t��dSr)r��selfr
r
r�_PopenPszBaseProcess._PopenNr
c	Ks�|dusJd��tt�}tj|f|_tj��|_t��|_d|_	||_
t|�|_t
|�|_|p�t|�jdd�dd�|jD��|_|dur�||_tdur�t�|�d|_dS)Nz#group argument must be None for now�-�:css|]}t|�VqdSr)�str)�.0�ir
r
r�	<genexpr>`�z'BaseProcess.__init__.<locals>.<genexpr>F)�next�_process_counterr	�	_identity�_config�copy�os�getpid�_parent_pidr�_target�tuple�_args�dict�_kwargs�type�__name__�join�_name�daemon�	_dangling�add�_controlled_termination)	r�group�target�name�args�kwargsr8Z_kw�countr
r
r�__init__Ss$


��
zBaseProcess.__init__cCs|jr|j|ji|j��dS)zQ
        Method to be run in sub-process; can be overridden in sub-class
        N)r/r1r3rr
r
r�runiszBaseProcess.runcCsR|jdusJd��|jt��ks(Jd��t�|�|�|_|jj|_t�	|�dS)z%
        Start child process
        Nzcannot start a process twicez:can only start a process object created by current process)
rr.r,r-rr�sentinel�	_sentinelrr:rr
r
r�startps�
zBaseProcess.startcCs|jdur|j��dSr)r�closerr
r
rrG|s
zBaseProcess.closecCs|j��dS)zT
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N)r�	terminaterr
r
rrH�szBaseProcess.terminatecCsd|_|��dS)NT)r;rHrr
r
r�terminate_controlled�sz BaseProcess.terminate_controlledcCsR|jt��ksJd��|jdus(Jd��|j�|�}|durNt�|�|��dS)z5
        Wait until child process terminates
        zcan only join a child processNzcan only join a started process)r.r,r-r�waitrrrG)r�timeout�resr
r
rr6�s
zBaseProcess.joincCsF|turdS|jt��ks"Jd��|jdur0dS|j��|jjduS)z1
        Return whether process is alive
        Tzcan only test a child processNF)r	r.r,r-rr�
returncoderr
r
r�is_alive�s

zBaseProcess.is_alivecCs|jdurdS|j��duS)NF�rrrr
r
r�	_is_alive�s
zBaseProcess._is_alivecCs|jSr)r7rr
r
rr>�szBaseProcess.namecCst|t�sJd��||_dS)Nzname must be a string)�
isinstancer"r7)rr>r
r
rr>�scCs|j�dd�S)z4
        Return whether process is a daemon
        r8F�r*�getrr
r
rr8�szBaseProcess.daemoncCs |jdusJd��||jd<dS)z1
        Set whether process is a daemon
        Nzprocess has already startedr8)rr*)r�daemonicr
r
rr8�scCs
|jdS)N�authkey)r*rr
r
rrU�szBaseProcess.authkeycCst|�|jd<dS)z2
        Set authorization key of process
        rUN)�AuthenticationStringr*)rrUr
r
rrU�scCs|jdur|jS|j��S)zM
        Return exit code of process or `None` if it has yet to stop
        NrOrr
r
r�exitcode�s
zBaseProcess.exitcodecCs"|turt��S|jo|jjSdS)zU
        Return identifier (PID) of process or `None` if it has yet to start
        N)r	r,r-r�pidrr
r
r�ident�szBaseProcess.identcCs(z|jWSty"td��Yn0dS)z{
        Return a file descriptor (Unix) or handle (Windows) suitable for
        waiting for process termination.
        zprocess not startedN)rEr�
ValueErrorrr
r
rrD�szBaseProcess.sentinelcCstSr)r(rr
r
r�_counter�szBaseProcess._countercCstSr)rrr
r
rr�szBaseProcess._childrencCs|jSr)rUrr
r
r�_authkey�szBaseProcess._authkeycCs|jSr)r8rr
r
r�	_daemonic�szBaseProcess._daemoniccCs|j�d�S)N�tempdirrRrr
r
r�_tempdir�szBaseProcess._tempdircCs�|turd}n>|jt��kr"d}n*|jdur2d}n|j��durH|j}nd}t|�turv|dkrfd}ndt	�
||�}dt|�j|j||j
r�dp�d	fS)
N�started�unknown�initialr�stoppedzstopped[%s]z<%s(%s, %s%s)>z daemon�)r	r.r,r-rrrWr4�int�_exitcode_to_namerSr5r7r8)r�statusr
r
r�__repr__s 
�zBaseProcess.__repr__cCsdddlm}m}�z&�z&|jdur.|�|j�t�d�at�a	t
jdur|zt
j��t
tj�t
_WntttfyzYn0t}t|�tjjj}t|���}|�d�|D]2}|r�t||tj�s�t�|�jD]}|� �q�q�t!�"�t_#z|j$�%�|�&�W~n~0|�'d|j(�z|�)�d}W|�*�n
|�*�0Wn�t+�y�}	zv|	j,�s\d}n\t|	j,dt-��rz|	j,d}n>t
j.�/t0|	j,d�d�t1t
j.�t|	j,dt0��r�dnd}WYd}	~	nNd}	~	0d}|j2d|j3dd��sddl4}
t
j.�/d	|j3�|
�5�Yn0W|�'d
|j(|�t1t
j6�t1t
j.�n&|�'d
|j(|�t1t
j6�t1t
j.�0|S)N�)�util�contextz#child process %s calling self.run()r�
z
Process %sT)�exc_infozProcess %s:
z#process %s exiting with exitcode %d)7rdrjrkZ
_start_methodZ_force_start_method�	itertoolsrAr(�setr�sys�stdinrG�openr,�devnullr�OSErrorrZr	r�logging�Logger�manager�
loggerDictr�keys�appendrQ�PlaceHolder�	getLogger�handlers�
createLock�	threading�RLock�_lockZ_finalizer_registry�clearZ_run_after_forkers�inforXrCZ_exit_function�
SystemExitr?re�stderr�writer"r�errorr>�	traceback�	print_exc�stdout)rrjrkZold_processrxZlogger_namesr>�handlerrW�excr�r
r
r�
_bootstrapst





�



.�
��
zBaseProcess._bootstrap)N)r5�
__module__�__qualname__�__doc__rrBrCrFrGrHrIr6rNrP�propertyr>�setterr8rUrWrYrXrDr[rr\r]r_rhr�r
r
r
rrIsX�









	






rc@seZdZdd�ZdS)rVcCs,ddlm}|�durtd��tt|�ffS)Nri)�get_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)rkr�rrV�bytes)rr�r
r
r�
__reduce__es
�zAuthenticationString.__reduce__N)r5r�r�r�r
r
r
rrVcsrVc@seZdZdd�ZdS)�_MainProcesscCs2d|_d|_d|_d|_tt�d��dd�|_dS)Nr
�MainProcess� z/mp)rUZ	semprefix)r)r7r.rrVr,�urandomr*rr
r
rrBus�z_MainProcess.__init__N)r5r�r�rBr
r
r
rr�ssr�ri�ZSIG�_)&r,rp�signalrnrur�_weakrefsetr�multiprocessingrr
�path�abspath�getcwdZORIGINAL_DIRrt�__all__rrrrrrr�rVr�r	rAr(rorrrf�__dict__�itemsr>�signumr9r
r
r
r�<module>
s@