From: brian.curtin Date: Mon, 11 Apr 2011 23:00:59 +0000 (-0500) Subject: Fix #5162. Allow child spawning from Windows services (via pywin32). X-Git-Tag: v2.7.2rc1~172 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40b53161183a6337d1db6168e2394e22c45d33ac;p=python Fix #5162. Allow child spawning from Windows services (via pywin32). --- diff --git a/Lib/multiprocessing/forking.py b/Lib/multiprocessing/forking.py index d5f3b26437..3fca8b1132 100644 --- a/Lib/multiprocessing/forking.py +++ b/Lib/multiprocessing/forking.py @@ -198,6 +198,7 @@ else: TERMINATE = 0x10000 WINEXE = (sys.platform == 'win32' and getattr(sys, 'frozen', False)) + WINSERVICE = sys.executable.lower().endswith("pythonservice.exe") exit = win32.ExitProcess close = win32.CloseHandle @@ -207,7 +208,7 @@ else: # People embedding Python want to modify it. # - if sys.executable.lower().endswith('pythonservice.exe'): + if WINSERVICE: _python_exe = os.path.join(sys.exec_prefix, 'python.exe') else: _python_exe = sys.executable @@ -397,7 +398,7 @@ else: if _logger is not None: d['log_level'] = _logger.getEffectiveLevel() - if not WINEXE: + if not WINEXE and not WINSERVICE: main_path = getattr(sys.modules['__main__'], '__file__', None) if not main_path and sys.argv[0] not in ('', '-c'): main_path = sys.argv[0]