summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Platform/posix.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-02-07 17:38:08 (GMT)
committerSteven Knight <knight@baldmt.com>2003-02-07 17:38:08 (GMT)
commitc512a8e5d6c539e0a01004bad48dda54a3a812f5 (patch)
tree1331b19b7aee3529eadd47508561b031e9832b6f /src/engine/SCons/Platform/posix.py
parent1e93334baa5bafe099bba0bbb2878cfbc4349ac1 (diff)
downloadSCons-c512a8e5d6c539e0a01004bad48dda54a3a812f5.zip
SCons-c512a8e5d6c539e0a01004bad48dda54a3a812f5.tar.gz
SCons-c512a8e5d6c539e0a01004bad48dda54a3a812f5.tar.bz2
Add a patch to help many systems terminate on interrupt. (Michael Cook)
Diffstat (limited to 'src/engine/SCons/Platform/posix.py')
-rw-r--r--src/engine/SCons/Platform/posix.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/engine/SCons/Platform/posix.py b/src/engine/SCons/Platform/posix.py
index 4fb0cd8..777b928 100644
--- a/src/engine/SCons/Platform/posix.py
+++ b/src/engine/SCons/Platform/posix.py
@@ -59,7 +59,10 @@ def env_spawn(sh, escape, cmd, args, env):
else:
s = string.join(args)
- return os.system(s) >> 8
+ stat = os.system(s)
+ if stat & 0xff:
+ return stat | 0x80
+ return stat >> 8
def fork_spawn(sh, escape, cmd, args, env):
pid = os.fork()
@@ -76,8 +79,9 @@ def fork_spawn(sh, escape, cmd, args, env):
else:
# Parent process.
pid, stat = os.waitpid(pid, 0)
- ret = stat >> 8
- return ret
+ if stat & 0xff:
+ return stat | 0x80
+ return stat >> 8
def generate(env):