[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page

Top Document: comp.windows.x Frequently Asked Questions (FAQ) 7/7
Previous Document: 165) How can my Xt program handle socket, pipe, or file input?
Next Document: 167) What's this R6 error: X Toolkit Error: NULL ArgVal in XtGetValues?


166) Why doesn't my Xt timer go off when it is supposed to (sic) ?



Xt timers are non-preemptive; they do not operate like signal interrupts.
That is, they don't suspend execution of the client program at a specific
interval and call the timer procedure.

Rather, timers are handled by Xt as another form of input. The Xt event loop
watches for X events and for socket activity; the select() statement Xt uses
returns when the first timer is set to go off. Xt then calls any timers that
have expired.

The implementation means that Xt timers can't be used for real-time
operations.  If one callback takes some time to operate, for example, any
timers that "should have" gone off during its operation are not called until
the thread of execution has again returned to Xt's event loop.



Top Document: comp.windows.x Frequently Asked Questions (FAQ) 7/7
Previous Document: 165) How can my Xt program handle socket, pipe, or file input?
Next Document: 167) What's this R6 error: X Toolkit Error: NULL ArgVal in XtGetValues?

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
faq%craft@uunet.uu.net (X FAQ maintenance address)

Last Update October 22 2009 @ 05:36 AM

Some parts © 2009 Advameg, Inc.