diff options
| author | Steven Knight <knight@baldmt.com> | 2003-03-03 19:39:25 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2003-03-03 19:39:25 (GMT) |
| commit | 57847f39e8598008ce3acddbcfb5a117e6981b3d (patch) | |
| tree | b6fc19421b03826488e03d795c4c258002f4ede7 /src/engine/SCons/Taskmaster.py | |
| parent | 1eac1ba89777cce14d1ed50322ee163e8b38fd1e (diff) | |
| download | SCons-57847f39e8598008ce3acddbcfb5a117e6981b3d.zip SCons-57847f39e8598008ce3acddbcfb5a117e6981b3d.tar.gz SCons-57847f39e8598008ce3acddbcfb5a117e6981b3d.tar.bz2 | |
Add an Exit() function for explicit termination of SCons.
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
| -rw-r--r-- | src/engine/SCons/Taskmaster.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index 68e251c..2ab076b 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -83,6 +83,8 @@ class Task: self.targets[0].build() except KeyboardInterrupt: raise + except SystemExit: + raise SCons.Errors.ExplicitExit(self.targets[0], sys.exc_value.code) except SCons.Errors.UserError: raise except SCons.Errors.BuildError: @@ -215,6 +217,12 @@ class Taskmaster: try: children = node.children() + except SystemExit: + e = SCons.Errors.ExplicitExit(node, sys.exc_value.code) + self.exception_set(SCons.Errors.ExplicitExit, e) + self.candidates.pop() + self.ready = node + break except: # We had a problem just trying to figure out the # children (like a child couldn't be linked in to a |
