File: mp_preload_sysargv.py

package info (click to toggle)
python3.13 3.13.12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 123,756 kB
  • sloc: python: 710,464; ansic: 655,626; xml: 31,250; sh: 5,844; cpp: 4,327; makefile: 1,983; objc: 787; lisp: 502; javascript: 213; asm: 75; csh: 12
file content (22 lines) | stat: -rw-r--r-- 567 bytes parent folder | download | duplicates (3)
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()