kolibrios/contrib/sdk/sources/Mesa/scons/fixes.py
Sergey Semyonov (Serge) 0d733fd5e8 Mesa-9.2.2
git-svn-id: svn://kolibrios.org@4358 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-15 08:37:16 +00:00

28 lines
677 B
Python

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