Posted to tcl by kbk at Wed Mar 25 16:49:51 GMT 2015view pretty
proc eventArrives {stuff} {
variable queue
lappend queue $stuff
windClock
}
proc windClock {} {
variable queueTimer
if {![info exists queueTimer]} {
set queueTimer [after 10 serviceQueue]
}
}
proc serviceQueue {} {
variable queue
variable queueTimer
unset queueTimer
set queue [lassign $queue headEvent]
if {[llength $queue] > 0} windClock
serviceEvent $headEvent
}