Skip to content
Snippets Groups Projects
Commit 4c71caad authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Keep already-done nodes' component-operation-time

Fixes lp#1531887, whereby some actions all dependencies of which
were already done would be given the wrong timestamp after perform,
and every plan tried to do them anew.
parent 6a71d32f
No related branches found
No related tags found
No related merge requests found
......@@ -352,9 +352,11 @@ in some previous image, or T if it needs to be done.")
(defmethod component-operation-time ((o operation) (c component))
(gethash (type-of o) (component-operation-times c)))
(defmethod (setf component-operation-time) (stamp (o operation) (c component))
(setf (gethash (type-of o) (component-operation-times c)) stamp))
(defmethod mark-operation-done ((o operation) (c component))
(setf (gethash (type-of o) (component-operation-times c))
(compute-action-stamp nil o c :just-done t))))
(setf (component-operation-time o c) (compute-action-stamp nil o c :just-done t))))
;;;; Perform
......
......@@ -365,6 +365,8 @@ the action of OPERATION on COMPONENT in the PLAN"))
:index (if status ; index of action amongst all nodes in traversal
(action-index status) ;; if already visited, keep index
(incf (plan-total-action-count plan))))) ; else new index
(when (and done-p (not add-to-plan-p))
(setf (component-operation-time operation component) stamp))
(when add-to-plan-p ; if it needs to be added to the plan,
(incf (plan-planned-action-count plan)) ; count it
(unless aniip ; if it's output-producing,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment