DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

tttk_block_while(3)




tttk_block_while(3)    C LIBRARY FUNCTIONS    tttk_block_while(3)

NAME
     tttk_block_while -	block while a  counter	is  greater  than
     zero

SYNOPSIS
     #include <Tt/tttk.h>

     Tt_status tttk_block_while(XtAppContext app2run,
				const int *blocked,
				int ms_timeout);

DESCRIPTION
     The tttk_block_while() function is	used to	process	asynchro-
     nous  events,  such  as  ToolTalk	messages or window system
     events, while waiting for a condition or timeout.

     If	app2run	is not zero, then an event loop	is run	for  that
     application      context,	    by	   repeatedly	  calling
     XtAppProcessEvent(3X) with	ms_timeout being  effected  using
     XtAppAddTimeOut(3X).   If	app2run	 is  zero,  then the file
     descriptor	(as returned by	tt_fd(3)) of the  default  procid
     is	   polled    (using    the    poll(2)	 function)    and
     tttk_Xt_input_handler(3)  is  called   whenever   the   file
     descriptor	is active.

     If	blocked	 is  zero,  then  tttk_block_while()  runs  until
     ms_timeout	occurs.	 If blocked is non-zero, then the loop is
     run until either ms_timeout occurs, or *blocked is	less than
     1.

     If	ms_timeout is zero, tttk_block_while()	checks	once  for
     events,  processes	 the  first  one,  and	then returns.  If
     ms_timeout	is negative, no	timeout	is in effect.

RETURN VALUE
     Upon successful completion, the tttk_block_while()	 function
     returns  the status of the	operation as one of the	following
     Tt_status values:

	TT_OK	The operation completed	successfully.

	TT_DESKTOP_ETIMEDOUT
		The  timeout  occurred	within	ms_timeout   mil-
		liseconds,  or	ms_timeout  was	zero and no input
		was available.

	TT_DESKTOP_EINTR
		The app2run argument was zero,	and  poll(2)  was
		interrupted by a signal.

	TT_DESKTOP_EAGAIN
		The  app2run  argument	was  zero,  and	  poll(2)
		returned EAGAIN.

Unix System LaboratorLast change: 11 May 1994			1

tttk_block_while(3)    C LIBRARY FUNCTIONS    tttk_block_while(3)

     If	app2run	is not zero  and  ms_timeout  is  negative,  then
     tttk_block_while()	 will  only  return when *blocked is less
     than 1, with TT_OK	being returned.

     If	app2run	is not zero, ms_timeout	is negative, and  blocked
     is	 zero,	then  tttk_block_while()  behaves  equivalent  to
     XtAppMainLoop(3X),	and will never return.

APPLICATION USAGE
     If	app2run	is zero,  then	only  messaging	 events	 for  the
     default  procid  will be serviced.	 Events	for other procids
     will be blocked, as will window system events, so	that  the
     graphical	user interface of the application will not update
     itself even, for example, after expose events.

     On	the other hand,	if the application passes its Xt  context
     in	as app2run, then window	system events will continue to be
     handled, as will message activity for all procids for  which
     an	XtAppAddInput(3X) has been done.  Since	the window system
     event loop	is fully operational in	this case,  the	 applica-
     tion should take care to disable any user interface controls
     that the user should not operate while  the  application  is
     waiting for tttk_block_while() to return.

SEE ALSO
     Tttttk(5),	tttk_Xt_input_handler(3); poll(2),
     XtAppPending(3X), XtAppAddTimeOut(3X), XtAppNextEvent(3X),
     XtDispatchEvent(3X).

Unix System LaboratorLast change: 11 May 1994			2


Man(1) output converted with man2html