diff options
author | brian.curtin <brian@python.org> | 2011-04-11 22:57:59 (GMT) |
---|---|---|
committer | brian.curtin <brian@python.org> | 2011-04-11 22:57:59 (GMT) |
commit | 727b498102ff1d6e9055f203314307a33677578d (patch) | |
tree | ef193be229ea461a6d13addac7e87ca507822d78 /Lib | |
parent | 49353d0e8f1faf526e7bc90d7422b3e050ad74bb (diff) | |
parent | e2f299845d51beabec4563fb3ceeae3df63ae4b7 (diff) | |
download | cpython-727b498102ff1d6e9055f203314307a33677578d.zip cpython-727b498102ff1d6e9055f203314307a33677578d.tar.gz cpython-727b498102ff1d6e9055f203314307a33677578d.tar.bz2 |
Fix #5162. Allow child spawning from Windows services (via pywin32).
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/multiprocessing/forking.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/multiprocessing/forking.py b/Lib/multiprocessing/forking.py index 8ddddb6..cc7c326 100644 --- a/Lib/multiprocessing/forking.py +++ b/Lib/multiprocessing/forking.py @@ -195,6 +195,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 @@ -204,7 +205,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 @@ -394,7 +395,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] |