From: ian Date: Sun, 13 Jul 2008 20:53:22 +0000 (+0000) Subject: do not go wrong on !realtime stop X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=1135360763f2d2c3e6d84f1c50ba679f69cba1d3;p=trains.git do not go wrong on !realtime stop --- diff --git a/hostside/multiplex b/hostside/multiplex index 535f50a..cb0f681 100755 --- a/hostside/multiplex +++ b/hostside/multiplex @@ -30,7 +30,7 @@ # $realtime set set set ? unset # $currentcmd unset $cmd $cmd $cmd unset # $currentconn unset $conn or {} $conn or {} $conn unset -# $executing 0 0 1 1 0 +# $executing 0 0 1 2 0 # # globals relating to realtime start/stop: # manual ready to running awaiting off @@ -391,7 +391,7 @@ proc process-command {conn l} { if {![catch { info args global/$cmd }]} { set currentcmd $cmd set currentconn $conn - set executing 1 + set executing 2 xmit-relevantly "executing $cmd" eval [list global/$cmd $conn] [lrange [split $l] 1 end] } elseif {![catch { info args local/$cmd }]} { @@ -594,7 +594,9 @@ proc realtime-failed {k m} { xmit-relevantly-savereplay 40 \ "warning realtime-failed" "reason $k : $m" catch { save-dump } - if {$executing} { + if {$executing==2} { + # internal commands need to deal with it themselves + } elseif {$executing} { xmit-relevantly "ack $currentcmd SystemFailed realtime : $m" set executing 0 } elseif {[info exists currentcmd]} {