HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //proc/thread-self/root/lib/python3.10/distutils/__pycache__/spawn.cpython-310.pyc
o

��bc4�@sndZddlZddlZddlZddlmZmZddlmZddl	m
Z
ejdkr+dada
ddd	�Zd
d
d�ZdS)z�distutils.spawn

Provides the 'spawn()' function, a front-end to various platform-
specific functions for launching another program in a sub-process.
Also provides the 'find_executable()' to search the path for a given
executable name.
�N)�DistutilsPlatformError�DistutilsExecError)�DEBUG)�log�darwin�c

Cszt|�}t�d�|��|rdS|r t|d�}|dur ||d<d}tjdkr|tdurDddlm	}|�
d�p7datrDdd	�t�d
�D�atr|t
j�dt�}dd	�|�d
�D�}tdd�d
dgkru|dd�d
dgkrud|tf}	t|	��tt
j|d�}ztj||d�}
|
��|
j}Wnty�}zts�|d}td||jdf�|�d}~ww|r�ts�|d}td||f��dS)a�Run another program, specified as a command list 'cmd', in a new process.

    'cmd' is just the argument list for the new process, ie.
    cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
    There is no way to run a program with a name different from that of its
    executable.

    If 'search_path' is true (the default), the system's executable
    search path will be used to find the program; otherwise, cmd[0]
    must be the exact path to the executable.  If 'dry_run' is true,
    the command will not actually be run.

    Raise DistutilsExecError if running the program fails in any way; just
    return on success.
    � Nrr)�	sysconfig�MACOSX_DEPLOYMENT_TARGET�cS�g|]}t|��qS���int��.0�xr
r
�&/usr/lib/python3.10/distutils/spawn.py�
<listcomp><�zspawn.<locals>.<listcomp>�.cSrr
rrr
r
rrDr��
�z]$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure;must use 10.3 or later)r
)�envzcommand %r failed: %s���z#command %r failed with exit code %s)�listr�info�join�find_executable�sys�platform�_cfg_target�	distutilsr	�get_config_var�split�_cfg_target_split�os�environ�getr�dict�
subprocess�Popen�wait�
returncode�OSErrorrr�args)
�cmd�search_path�verbose�dry_run�
executablerr	�
cur_target�cur_target_split�my_msg�proc�exitcode�excr
r
r�spawnsf
��(��
����
��r<c	Cs�tj�|�\}}tjdkr|dkr|d}tj�|�r|S|durBtj�dd�}|durBzt�d�}Wnt	t
fyAtj}Ynw|sFdS|�tj
�}|D]}tj�||�}tj�|�ra|SqNdS)z�Tries to find 'executable' in the directories listed in 'path'.

    A string listing directories separated by 'os.pathsep'; defaults to
    os.environ['PATH'].  Returns the complete filename or None if not found.
    �win32z.exeN�PATH�CS_PATH)r'�path�splitextr r!�isfiler(r)�confstr�AttributeError�
ValueError�defpathr%�pathsepr)r5r@�_�ext�paths�p�fr
r
rr_s,
��r)rrr)N)�__doc__r r'r+�distutils.errorsrr�distutils.debugrr#rr!r"r&r<rr
r
r
r�<module>s

H