Tcl Built-In Commands vwait(1T)
_________________________________________________________________
NAME
vwait - Process events until a variable is written
SYNOPSIS
vwait varName
_________________________________________________________________
DESCRIPTION
This command enters the Tcl event loop to process events,blocking the application if no events are ready. It contin-
ues processing events until some event handler sets the value of variable varName. Once varName has been set, thevwait command will return as soon as the event handler that
modified varName completes. varName must globally scoped (either with a call to global for the varName, or with the full namespace path specification).In some cases the vwait command may not return immediately
after varName is set. This can happen if the event handlerthat sets varName does not complete immediately. For exam-
ple, if an event handler sets varName and then itself callsvwait to wait for a different variable, then it may not
return for a long time. During this time the top-level
vwait is blocked waiting for the event handler to complete,
so it cannot return either.EXAMPLES
Run the event-loop continually until some event calls exit.
(You can use any variable not mentioned elsewhere, but the name forever reminds you at a glance of the intent.)vwait forever
Wait five seconds for a connection to a server socket, oth-
erwise close the socket and continue running the script:# Initialise the state
after 5000 set state timeoutset server [socket -server accept 12345]
proc accept {args} { global state connectionInfo set state acceptedset connectionInfo $args
}# Wait for something to happen
vwait state
# Clean up events that could have happened
close $server
after cancel set state timeout Tcl Last change: 8.0 1Tcl Built-In Commands vwait(1T)
# Do something based on how the vwait finished...
switch $state {
timeout { puts "no connection on port 12345" } accepted {puts "connection: $connectionInfo"
puts [lindex $connectionInfo 0] "Hello there!"
} }SEE ALSO
global(1T), update(1T) KEYWORDS event, variable, waitATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:_______________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE|
|____________________|__________________|_
| Availability | runtime/tcl-8 |
|____________________|__________________|_
| Interface Stability| Uncommitted ||____________________|_________________|
NOTES Source for Tcl is available on http://opensolaris.org. Tcl Last change: 8.0 2