Experimental Physics and
| |||||||||||||||||
|
Your statement is true; unlike the old vxWorks watchdog timers that we used to use in iocCore before the OSI layer was added, an epicsTimer's notify routine or callback is now always executed in thread context. What I'd like to know is, in other words, if a handler of epicsTimer is allowed to take semaphores in the handler or not. Yes it is allowed, but you should be aware of the implications of this: If the semaphore blocks, then none of the other epicsTimers that use the same epicsTimerQueue will be executed until the semaphore is released and the callback/notify routine returns. It is not advisable for a timer on the system shared timer queue to block for any signficant period of time in its callback/notify routine. The use of printf() and similar functions is fine though because it should not block for any significant period of time. - Andrew -- * * Matt Santos / / For a Brighter America * *
| ||||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |