[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.54.210: ~ $
import io
import os

from .context import reduction, set_spawning_popen
if not reduction.HAVE_SEND_HANDLE:
    raise ImportError('No support for sending fds between processes')
from . import forkserver
from . import popen_fork
from . import spawn
from . import util


__all__ = ['Popen']

#
# Wrapper for an fd used while launching a process
#

class _DupFd(object):
    def __init__(self, ind):
        self.ind = ind
    def detach(self):
        return forkserver.get_inherited_fds()[self.ind]

#
# Start child process using a server process
#

class Popen(popen_fork.Popen):
    method = 'forkserver'
    DupFd = _DupFd

    def __init__(self, process_obj):
        self._fds = []
        super().__init__(process_obj)

    def duplicate_for_child(self, fd):
        self._fds.append(fd)
        return len(self._fds) - 1

    def _launch(self, process_obj):
        prep_data = spawn.get_preparation_data(process_obj._name)
        buf = io.BytesIO()
        set_spawning_popen(self)
        try:
            reduction.dump(prep_data, buf)
            reduction.dump(process_obj, buf)
        finally:
            set_spawning_popen(None)

        self.sentinel, w = forkserver.connect_to_new_process(self._fds)
        # Keep a duplicate of the data pipe's write end as a sentinel of the
        # parent process used by the child process.
        _parent_w = os.dup(w)
        self.finalizer = util.Finalize(self, util.close_fds,
                                       (_parent_w, self.sentinel))
        with open(w, 'wb', closefd=True) as f:
            f.write(buf.getbuffer())
        self.pid = forkserver.read_signed(self.sentinel)

    def poll(self, flag=os.WNOHANG):
        if self.returncode is None:
            from multiprocessing.connection import wait
            timeout = 0 if flag == os.WNOHANG else None
            if not wait([self.sentinel], timeout):
                return None
            try:
                self.returncode = forkserver.read_signed(self.sentinel)
            except (OSError, EOFError):
                # This should not happen usually, but perhaps the forkserver
                # process itself got killed
                self.returncode = 255

        return self.returncode

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
dummy Folder 0755
__init__.py File 916 B 0644
connection.py File 30.94 KB 0644
context.py File 10.99 KB 0644
forkserver.py File 12.24 KB 0644
heap.py File 11.35 KB 0644
managers.py File 47.77 KB 0644
pool.py File 31.75 KB 0644
popen_fork.py File 2.51 KB 0644
popen_forkserver.py File 2.18 KB 0644
popen_spawn_posix.py File 1.98 KB 0644
popen_spawn_win32.py File 3.92 KB 0644
process.py File 11.72 KB 0644
queues.py File 11.42 KB 0644
reduction.py File 9.29 KB 0644
resource_sharer.py File 5.23 KB 0644
resource_tracker.py File 8.41 KB 0644
shared_memory.py File 17.01 KB 0644
sharedctypes.py File 6.16 KB 0644
spawn.py File 9.08 KB 0644
synchronize.py File 11.34 KB 0644
util.py File 13.62 KB 0644