OLD | NEW |
1 """SCons.Job | 1 """SCons.Job |
2 | 2 |
3 This module defines the Serial and Parallel classes that execute tasks to | 3 This module defines the Serial and Parallel classes that execute tasks to |
4 complete a build. The Jobs class provides a higher level interface to start, | 4 complete a build. The Jobs class provides a higher level interface to start, |
5 stop, and wait on jobs. | 5 stop, and wait on jobs. |
6 | 6 |
7 """ | 7 """ |
8 | 8 |
9 # | 9 # |
10 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundat
ion | 10 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons F
oundation |
11 # | 11 # |
12 # Permission is hereby granted, free of charge, to any person obtaining | 12 # Permission is hereby granted, free of charge, to any person obtaining |
13 # a copy of this software and associated documentation files (the | 13 # a copy of this software and associated documentation files (the |
14 # "Software"), to deal in the Software without restriction, including | 14 # "Software"), to deal in the Software without restriction, including |
15 # without limitation the rights to use, copy, modify, merge, publish, | 15 # without limitation the rights to use, copy, modify, merge, publish, |
16 # distribute, sublicense, and/or sell copies of the Software, and to | 16 # distribute, sublicense, and/or sell copies of the Software, and to |
17 # permit persons to whom the Software is furnished to do so, subject to | 17 # permit persons to whom the Software is furnished to do so, subject to |
18 # the following conditions: | 18 # the following conditions: |
19 # | 19 # |
20 # The above copyright notice and this permission notice shall be included | 20 # The above copyright notice and this permission notice shall be included |
21 # in all copies or substantial portions of the Software. | 21 # in all copies or substantial portions of the Software. |
22 # | 22 # |
23 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY | 23 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY |
24 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | 24 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE |
25 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | 25 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
26 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | 26 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
27 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | 27 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
28 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 28 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
29 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 29 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
30 # | 30 # |
31 | 31 |
32 __revision__ = "src/engine/SCons/Job.py 3842 2008/12/20 22:59:52 scons" | 32 __revision__ = "src/engine/SCons/Job.py 3897 2009/01/13 06:45:54 scons" |
33 | 33 |
34 import os | 34 import os |
35 import signal | 35 import signal |
36 | 36 |
37 import SCons.Errors | 37 import SCons.Errors |
38 | 38 |
39 # The default stack size (in kilobytes) of the threads used to execute | 39 # The default stack size (in kilobytes) of the threads used to execute |
40 # jobs in parallel. | 40 # jobs in parallel. |
41 # | 41 # |
42 # We use a stack size of 256 kilobytes. The default on some platforms | 42 # We use a stack size of 256 kilobytes. The default on some platforms |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
420 # for the build to stop if that's appropriate. | 420 # for the build to stop if that's appropriate. |
421 task.failed() | 421 task.failed() |
422 | 422 |
423 task.postprocess() | 423 task.postprocess() |
424 | 424 |
425 if self.tp.resultsQueue.empty(): | 425 if self.tp.resultsQueue.empty(): |
426 break | 426 break |
427 | 427 |
428 self.tp.cleanup() | 428 self.tp.cleanup() |
429 self.taskmaster.cleanup() | 429 self.taskmaster.cleanup() |
OLD | NEW |