vwait man page on QNX

Man page or keyword search:  
man Server   4347 pages
apropos Keyword Search (all sections)
Output format
QNX logo
[printable version]

vwait(n)		     Tcl Built-In Commands		      vwait(n)


       vwait - Process events until a variable is written

       vwait varName

       This  command enters the Tcl event loop to process events, blocking the
       application if no events are ready.   It	 continues  processing	events
       until some event handler sets the value of variable varName.  Once var‐
       Name has been set, the vwait 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	names‐
       pace path specification).

       In  some	 cases the vwait command may not return immediately after var‐
       Name is set.  This can happen if the event handler  that	 sets  varName
       does  not  complete immediately.	 For example, if an event handler sets
       varName and then itself calls vwait 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  can‐
       not return either.

       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, otherwise close
       the socket and continue running the script:
	      # Initialise the state
	      after 5000 set state timeout
	      set server [socket -server accept 12345]
	      proc accept {args} {
		 global state connectionInfo
		 set state accepted
		 set connectionInfo $args

	      # Wait for something to happen
	      vwait state

	      # Clean up events that could have happened
	      close $server
	      after cancel set state timeout

	      # 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!"

       global(n), update(n)

       event, variable, wait

Tcl				      8.0			      vwait(n)
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server QNX

List of man pages available for QNX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net