Fix #5162. Allow child spawning from Windows services (via pywin32).
This commit is contained in:
commit
727b498102
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue