Unix/Linux Go Back    

CentOS 7.0 - man page for tcl_dooneevent (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

Tcl_DoOneEvent(3)		      Tcl Library Procedures			Tcl_DoOneEvent(3)


       Tcl_DoOneEvent - wait for events and invoke event handlers

       #include <tcl.h>


       int flags (in)	       This  parameter	is normally zero.  It may be an OR-ed combination
			       of  any	 of   the   following	flag   bits:   TCL_WINDOW_EVENTS,

       This procedure is the entry point to Tcl's event loop; it is responsible for  waiting  for
       events  and  dispatching  event	handlers  created  with procedures such as Tk_CreateEven-
       tHandler,    Tcl_CreateFileHandler,    Tcl_CreateTimerHandler,	  and	  Tcl_DoWhenIdle.
       Tcl_DoOneEvent  checks to see if events are already present on the Tcl event queue; if so,
       it calls the handler(s) for the first (oldest) event,  removes  it  from  the  queue,  and
       returns.   If  there are no events ready to be handled, then Tcl_DoOneEvent checks for new
       events from all possible sources.  If any are found, it puts all of them  on  Tcl's  event
       queue,  calls  handlers	for  the first event on the queue, and returns.  If no events are
       found, Tcl_DoOneEvent checks for Tcl_DoWhenIdle callbacks; if any are  found,  it  invokes
       all  of	them  and returns.  Finally, if no events or idle callbacks have been found, then
       Tcl_DoOneEvent sleeps until an event occurs; then it adds any new events to the Tcl  event
       queue,  calls  handlers for the first event, and returns.  The normal return value is 1 to
       signify that some event was processed (see below for other alternatives).

       If the flags argument to Tcl_DoOneEvent is non-zero, it restricts the kinds of events that
       will be processed by Tcl_DoOneEvent.  Flags may be an OR-ed combination of any of the fol-
       lowing bits:

       TCL_WINDOW_EVENTS -	  Process window system events.

       TCL_FILE_EVENTS -	  Process file events.

       TCL_TIMER_EVENTS -	  Process timer events.

       TCL_IDLE_EVENTS -	  Process idle callbacks.

       TCL_ALL_EVENTS - 	  Process all kinds of events:	equivalent to OR-ing together all
				  of the above flags or specifying none of them.

       TCL_DONT_WAIT -		  Do  not  sleep:  process only events that are ready at the time
				  of the call.

       If  any	of   the   flags   TCL_WINDOW_EVENTS,	TCL_FILE_EVENTS,   TCL_TIMER_EVENTS,   or
       TCL_IDLE_EVENTS	is  set, then the only events that will be considered are those for which
       flags are set.  Setting none of these flags is equivalent  to  the  value  TCL_ALL_EVENTS,
       which  causes  all  event types to be processed.  If an application has defined additional
       event sources with Tcl_CreateEventSource, then additional flag values may also  be  valid,
       depending on those event sources.

       The  TCL_DONT_WAIT  flag  causes  Tcl_DoOneEvent not to put the process to sleep:  it will
       check for events but if none are found then it returns immediately with a return value  of
       0 to indicate that no work was done.  Tcl_DoOneEvent will also return 0 without doing any-
       thing if the only alternative is to block forever (this can happen, for example, if  flags
       is  TCL_IDLE_EVENTS and there are no Tcl_DoWhenIdle callbacks pending, or if no event han-
       dlers or timer handlers exist).

       Tcl_DoOneEvent may be  invoked  recursively.   For  example,  it  is  possible  to  invoke
       Tcl_DoOneEvent  recursively  from a handler called by Tcl_DoOneEvent.  This sort of opera-
       tion is useful in some modal situations, such as  when  a  notification	dialog	has  been
       popped  up  and an application wishes to wait for the user to click a button in the dialog
       before doing anything else.

       callback, event, handler, idle, timer

Tcl					       7.5				Tcl_DoOneEvent(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 08:06 AM.