make multicore version PERT benchmark work on RAW(without interruption)
[IRC.git] / Robust / src / Analysis / TaskStateAnalysis / FlagState.java
index 34b7603afa89cb816280a090041dfbae47415402..c9787e32f336b4ba2bce217d4072d78009a7a9de 100644 (file)
@@ -364,10 +364,21 @@ public class FlagState extends GraphNode implements Cloneable {
        Iterator it = this.edges();
        if(it.hasNext()) {
            FEdge fe = (FEdge)it.next();
-           if(fe.getExeTime() == -1) {
-               throw new Exception("Error: Uninitiate FEdge!");
+           while((fe != null) && (fe.getTarget().equals(this))) {
+               if(it.hasNext()) {
+                   fe = (FEdge)it.next();
+               } else {
+                   fe = null;
+               }
+           }
+           if(fe == null) {
+               this.executeTime = 0;
+           } else {
+               if(fe.getExeTime() == -1) {
+                   throw new Exception("Error: Uninitiate FEdge!");
+               }
+               this.executeTime = fe.getExeTime() + ((FlagState)fe.getTarget()).getExeTime();
            }
-           this.executeTime = fe.getExeTime() + ((FlagState)fe.getTarget()).getExeTime();
        } else {
            this.executeTime = 0;
        }