HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/twisted/test/mock_win32process.py
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
This is a mock win32process module.

The purpose of this module is mock process creation for the PID test.

CreateProcess(...) will spawn a process, and always return a PID of 42.
"""

import win32process  # type: ignore[import]

GetExitCodeProcess = win32process.GetExitCodeProcess
STARTUPINFO = win32process.STARTUPINFO

STARTF_USESTDHANDLES = win32process.STARTF_USESTDHANDLES


def CreateProcess(
    appName,
    cmdline,
    procSecurity,
    threadSecurity,
    inheritHandles,
    newEnvironment,
    env,
    workingDir,
    startupInfo,
):
    """
    This function mocks the generated pid aspect of the win32.CreateProcess
    function.
      - the true win32process.CreateProcess is called
      - return values are harvested in a tuple.
      - all return values from createProcess are passed back to the calling
        function except for the pid, the returned pid is hardcoded to 42
    """

    hProcess, hThread, dwPid, dwTid = win32process.CreateProcess(
        appName,
        cmdline,
        procSecurity,
        threadSecurity,
        inheritHandles,
        newEnvironment,
        env,
        workingDir,
        startupInfo,
    )
    dwPid = 42
    return (hProcess, hThread, dwPid, dwTid)