diff options
author | Steven Knight <knight@baldmt.com> | 2004-07-13 06:13:18 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-07-13 06:13:18 (GMT) |
commit | 9d2af963f5da83955b06353104b44ad01c86716c (patch) | |
tree | 62dbd0e4ee82caf4bf3202b8aa8e53be76a9f49a /src/engine/SCons/SConf.py | |
parent | 321ac083cf44290c309b7021594c3941bfa3f82f (diff) | |
download | SCons-9d2af963f5da83955b06353104b44ad01c86716c.zip SCons-9d2af963f5da83955b06353104b44ad01c86716c.tar.gz SCons-9d2af963f5da83955b06353104b44ad01c86716c.tar.bz2 |
Make exception handling thread-safe by using sys.exc_info() instead of sys.exc_{type,value}.
Diffstat (limited to 'src/engine/SCons/SConf.py')
-rw-r--r-- | src/engine/SCons/SConf.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/engine/SCons/SConf.py b/src/engine/SCons/SConf.py index 6280f75..0cda8c1 100644 --- a/src/engine/SCons/SConf.py +++ b/src/engine/SCons/SConf.py @@ -189,13 +189,16 @@ class SConf: if (target.get_state() != SCons.Node.up_to_date and target.has_builder() and not hasattr(target.builder, 'status')): - + raise SCons.Errors.ConfigureDryRunError(target) def failed(self): - if sys.exc_type == SCons.Errors.ConfigureDryRunError: - raise - SConfBuildTask.failed(self) + exc_type, exc_value = self.exc_info()[:2] + if exc_type == SCons.Errors.ConfigureDryRunError: + raise exc_type, exc_value + # Should be SConfBuildTask.failed(), really, + # but that causes name errors in Python 1.5.2. + SCons.Script.BuildTask.failed(self) if self.logstream != None: # override stdout / stderr to write in log file |