summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorbrian.curtin <brian@python.org>2011-04-11 22:57:59 (GMT)
committerbrian.curtin <brian@python.org>2011-04-11 22:57:59 (GMT)
commit727b498102ff1d6e9055f203314307a33677578d (patch)
treeef193be229ea461a6d13addac7e87ca507822d78 /Lib
parent49353d0e8f1faf526e7bc90d7422b3e050ad74bb (diff)
parente2f299845d51beabec4563fb3ceeae3df63ae4b7 (diff)
downloadcpython-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.py5
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]