0,0 → 1,27 |
import sys |
|
# Monkey patch os.spawnve on windows to become thread safe |
if sys.platform == 'win32': |
import os |
import threading |
from os import spawnve as old_spawnve |
|
spawn_lock = threading.Lock() |
|
def new_spawnve(mode, file, args, env): |
spawn_lock.acquire() |
try: |
if mode == os.P_WAIT: |
ret = old_spawnve(os.P_NOWAIT, file, args, env) |
else: |
ret = old_spawnve(mode, file, args, env) |
finally: |
spawn_lock.release() |
if mode == os.P_WAIT: |
pid, status = os.waitpid(ret, 0) |
ret = status >> 8 |
return ret |
|
os.spawnve = new_spawnve |
|
|