File: mp_preload_sysargv.py

package info (click to toggle)
python3.14 3.14.3-5
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 167,088 kB
  • sloc: python: 759,022; ansic: 718,747; xml: 31,250; sh: 5,984; cpp: 4,093; makefile: 2,011; objc: 787; lisp: 502; javascript: 136; asm: 75; csh: 12
file content (22 lines) | stat: -rw-r--r-- 567 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# gh-143706: Test that sys.argv is correctly set during main module import
# when using forkserver with __main__ preloading.

import multiprocessing
import sys

# This will be printed during module import - sys.argv should be correct here
print(f"module:{sys.argv[1:]}")

def fun():
    # This will be printed when the function is called
    print(f"fun:{sys.argv[1:]}")

if __name__ == "__main__":
    ctx = multiprocessing.get_context("forkserver")
    ctx.set_forkserver_preload(['__main__'])

    fun()

    p = ctx.Process(target=fun)
    p.start()
    p.join()