From: marko Date: Tue, 24 Jun 2008 05:03:38 +0000 (+0000) Subject: Advance event scheduler and time only in exec mode, and actually apply X-Git-Url: https://git.entuzijast.net/?a=commitdiff_plain;h=6f4c86681ce188d660c50cd3d09f1cf907605d81;p=imunes.git Advance event scheduler and time only in exec mode, and actually apply the changes to ng_pipe nodes in addition to updating the GUI view. Bug found by: Submitted by: Reviewed by: Approved by: Obtained from: --- diff --git a/eventsched.tcl b/eventsched.tcl index a3c9fcf..badd5df 100644 --- a/eventsched.tcl +++ b/eventsched.tcl @@ -23,17 +23,26 @@ # 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 {}