diff options
| author | Steven Knight <knight@baldmt.com> | 2002-02-18 22:34:59 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2002-02-18 22:34:59 (GMT) |
| commit | 2db9879e1b4671c412b50a8a3c67eda1c6c95d93 (patch) | |
| tree | 7d249871746d7775d3da397778778f0ffbea3308 /src/engine/SCons/Taskmaster.py | |
| parent | c71fa63caaa49aeeb7753a28a630d0d8de7e5606 (diff) | |
| download | SCons-2db9879e1b4671c412b50a8a3c67eda1c6c95d93.zip SCons-2db9879e1b4671c412b50a8a3c67eda1c6c95d93.tar.gz SCons-2db9879e1b4671c412b50a8a3c67eda1c6c95d93.tar.bz2 | |
Efficiency: On the Taskmaster's Walker's out-of-date checks, don't return any children if the node itself has already been visited.
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
| -rw-r--r-- | src/engine/SCons/Taskmaster.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index 558845d..cdee378 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -166,6 +166,10 @@ class Taskmaster: def __init__(self, targets=[], tasker=Task, calc=Calc()): def out_of_date(node): + if node.get_state(): + # The state is set, so someone has already been here + # (finished or currently executing). Find another one. + return [] # Scan the file before fetching its children(). node.scan() return filter(lambda x: x.get_state() != SCons.Node.up_to_date, |
