task execution engine: fix addition of new tasks

dependencies of a task being added were filtered
  to remove already added ones all at once
however, as each new dependency is added, the
  'new' state of tasks could change
this fix checks and adds dependencies one at a time
This commit is contained in:
Mark Harrah 2010-09-17 20:16:21 -04:00
parent 47e9428144
commit da0444e5a3
1 changed files with 5 additions and 3 deletions

View File

@ -161,9 +161,11 @@ final class Execute[A[_] <: AnyRef](checkCycles: Boolean)(implicit view: NodeVie
else
{
forward(node) = IDSet(active)
val newD = active filter isNew
newD foreach { x => addNew(x) }
active foreach { addReverse(_, node) }
for(a <- active)
{
addChecked(a)
addReverse(a, node)
}
}
post {