summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Job.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-10-02 12:24:41 (GMT)
committerSteven Knight <knight@baldmt.com>2001-10-02 12:24:41 (GMT)
commit3451935a570c186d36e020b7d48cf2dd3dc2be0b (patch)
tree2136634dfb2ef0c1f624d278731ac5554395e092 /src/engine/SCons/Job.py
parent1287f392470ec9ef1a6be4f9a55ae67d7a638de8 (diff)
downloadSCons-3451935a570c186d36e020b7d48cf2dd3dc2be0b.zip
SCons-3451935a570c186d36e020b7d48cf2dd3dc2be0b.tar.gz
SCons-3451935a570c186d36e020b7d48cf2dd3dc2be0b.tar.bz2
Let the Taskmaster control whether the build stops.
Diffstat (limited to 'src/engine/SCons/Job.py')
-rw-r--r--src/engine/SCons/Job.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/engine/SCons/Job.py b/src/engine/SCons/Job.py
index 26031ff..f17c075 100644
--- a/src/engine/SCons/Job.py
+++ b/src/engine/SCons/Job.py
@@ -86,8 +86,9 @@ class Serial:
try:
task.execute()
except:
+ # Let the failed() callback function arrange for the
+ # build to stop if that's appropriate.
self.taskmaster.failed(task)
- return
else:
self.taskmaster.executed(task)
@@ -219,12 +220,10 @@ class Parallel:
finally:
cv.acquire()
except:
+ # Let the failed() callback function arrange for
+ # calling self.jobs.stop() to to stop the build
+ # if that's appropriate.
self.taskmaster.failed(task)
- # stop all jobs since there was a failure:
- # (this will wake up any waiting jobs, so
- # it isn't necessary to explicitly wake them
- # here)
- self.jobs.stop()
else:
self.taskmaster.executed(task)