From ac86defef73a04e165c38dce5a7f254e7b570e56 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Sat, 6 Aug 2022 14:03:43 +0300 Subject: [PATCH] Simplify `multiprocessing.context.{SpawnProcess,SpawnContext}` (#8499) --- stdlib/multiprocessing/context.pyi | 32 ++++++++++++------------------ 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/stdlib/multiprocessing/context.pyi b/stdlib/multiprocessing/context.pyi index f8fa0fa64..16b7cfe9e 100644 --- a/stdlib/multiprocessing/context.pyi +++ b/stdlib/multiprocessing/context.pyi @@ -145,17 +145,25 @@ class DefaultContext(BaseContext): _default_context: DefaultContext +class SpawnProcess(BaseProcess): + _start_method: str + if sys.platform != "win32": + @staticmethod + def _Popen(process_obj: BaseProcess) -> popen_spawn_posix.Popen: ... + else: + @staticmethod + def _Popen(process_obj: BaseProcess) -> popen_spawn_win32.Popen: ... + +class SpawnContext(BaseContext): + _name: str + Process: ClassVar[type[SpawnProcess]] + if sys.platform != "win32": class ForkProcess(BaseProcess): _start_method: str @staticmethod def _Popen(process_obj: BaseProcess) -> popen_fork.Popen: ... - class SpawnProcess(BaseProcess): - _start_method: str - @staticmethod - def _Popen(process_obj: BaseProcess) -> popen_spawn_posix.Popen: ... - class ForkServerProcess(BaseProcess): _start_method: str @staticmethod @@ -165,24 +173,10 @@ if sys.platform != "win32": _name: str Process: ClassVar[type[ForkProcess]] - class SpawnContext(BaseContext): - _name: str - Process: ClassVar[type[SpawnProcess]] - class ForkServerContext(BaseContext): _name: str Process: ClassVar[type[ForkServerProcess]] -else: - class SpawnProcess(BaseProcess): - _start_method: str - @staticmethod - def _Popen(process_obj: BaseProcess) -> popen_spawn_win32.Popen: ... - - class SpawnContext(BaseContext): - _name: str - Process: ClassVar[type[SpawnProcess]] - def _force_start_method(method: str) -> None: ... def get_spawning_popen() -> Any | None: ... def set_spawning_popen(popen: Any) -> None: ...