]> git.entuzijast.net Git - imunes.git/commitdiff
Advance event scheduler and time only in exec mode, and actually apply
authormarko <marko>
Tue, 24 Jun 2008 05:03:38 +0000 (05:03 +0000)
committermarko <marko>
Tue, 24 Jun 2008 05:03:38 +0000 (05:03 +0000)
the changes to ng_pipe nodes in addition to updating the GUI view.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

eventsched.tcl

index a3c9fcf307754dce7c0dde60b466ce36b4b4e175..badd5df2d3c860ba37c1a1c4365f3f9d818e1d80 100644 (file)
 # SUCH DAMAGE.
 #
 
-# $Id: eventsched.tcl,v 1.4 2008/06/23 19:46:24 marko Exp $
+# $Id: eventsched.tcl,v 1.5 2008/06/24 05:03:38 marko Exp $
 
 
-set sched_init_done 0
-
 proc evsched {} {
-    global sched_init_done event_t0 eventqueue
-
-    # XXX temp hack, init should be done when experiment is started
-    if { $sched_init_done == 0 } {
-       sched_init
+    # XXX eid should be arg to evsched()
+    upvar 0 ::cf::[set ::curcfg]::eid eid
+    upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode
+    upvar 0 ::cf::[set ::curcfg]::sched_init_done sched_init_done
+    upvar 0 ::cf::[set ::curcfg]::event_t0 event_t0
+    upvar 0 ::cf::[set ::curcfg]::eventqueue eventqueue
+
+    # XXX temp hack, init should be called when experiment is started
+    if { $oper_mode == "exec" } {
+       if { $sched_init_done == 0 } {
+           sched_init
+       }
+    } else {
+       set sched_init_done 0
+       after 1000 evsched
+       return
     }
 
     set curtime [expr [clock seconds] - $event_t0]
@@ -113,7 +122,7 @@ proc evsched {} {
                    }
                }
            }
-           #execSetLinkParams $eid $object
+           execSetLinkParams $eid $object
            set changed 1
        }
     }
@@ -133,8 +142,9 @@ proc evsched {} {
 proc sched_init {} {
     upvar 0 ::cf::[set ::curcfg]::node_list node_list
     upvar 0 ::cf::[set ::curcfg]::link_list link_list
-    global sched_init_done
-    global eventqueue event_t0
+    upvar 0 ::cf::[set ::curcfg]::event_t0 event_t0
+    upvar 0 ::cf::[set ::curcfg]::eventqueue eventqueue
+    upvar 0 ::cf::[set ::curcfg]::sched_init_done sched_init_done
 
     set eventqueue {}