From 4e5097b295bdb198dafe7b3689b5c4b61409d26e Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 15 Mar 2009 22:06:41 +0000 Subject: [PATCH] fix race where we send too much stuff --- hostside/measure-speeds | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hostside/measure-speeds b/hostside/measure-speeds index 360d166..27bca79 100755 --- a/hostside/measure-speeds +++ b/hostside/measure-speeds @@ -139,13 +139,18 @@ proc bgerror {m} { puts stderr "----------\nBGERROR\n$m\n$errorInfo\n$errorCode\n----------" } -proc xmit-now {} { +proc xmit-now {until_funcs} { global xmit_after xmit_msg funcs_msgs - set funcs_msg [lindex $funcs_msgs 0] - set funcs_msgs [lreplace $funcs_msgs 0 0] - lappend funcs_msgs $funcs_msg - send-now $xmit_msg$funcs_msg - set xmit_after [after 10 xmit-now] + set m $xmit_msg + if {![incr until_funcs -1]} { + set funcs_msg [lindex $funcs_msgs 0] + set funcs_msgs [lreplace $funcs_msgs 0 0] + lappend funcs_msgs $funcs_msg + append m $funcs_msg + set until_funcs 5 + } + send-now $m + set xmit_after [after 10 xmit-now $until_funcs] } proc xmit {nmral} { global xmit_msg xmit_after detend settle_detend settle_time funcs_msgs @@ -153,7 +158,7 @@ proc xmit {nmral} { set xmit_msg [hbytes raw2h $msg] debug "> $xmit_msg $nmral (E $detend $settle_detend $settle_time) \[$funcs_msgs]" catch { after cancel $xmit_after } - xmit-now + xmit-now 10 } proc now-ms {} { -- 2.30.2