Experimental Physics and
| |||||||||||||||
|
A number of my drivers (and others as well) call the vxWorks routine "rebootHookAdd" -- mostly to install rundown routines that will disable the card's interrupts in the event of a soft reboot. Since I seem to be into portability these days, it would be nice to have an OSI equivalent function. epicsAtExit seems to be the logical candidate, and there is even a hook in the vxWorks part of libCom/osi/os (atReboot.cpp) that will invoke epicsExitCallAtExits() during a soft reboot. The catch, however, is that you need to have (as I understand it) a routine called "sysAtReboot" built into your BSP for the exit handler to be called on a soft reboot. sysAtReboot (again, as I understand it) is an APS BSP extension that solves the problem of rebootHooks not invoking its exit handlers in the correct order. So, with the above history out of the way (and feel free to comment on the authenticity of the above), my (perhaps) naive questions are: 1. How does RTEMS solve the soft reboot handler problem (I don't see any similar hook in libCom/osi/os/RTEMS)? 2. Would it be reasonable for the vxWorks hook (atReboot.cpp) to register with rebootHookAdd if it did not find sysAtReboot in the symbol table? (at least then I could get my cards disabled -- and I don't really care about the order). 3. Is there some other mechanism I should be using that I've overlooked? Thanks. -Eric Bj. <><><><><><><><><><><><><><><><><><><><><><><><><><><><> Eric Björklund Los Alamos Neutron Science Center (LANSCE) phone: 505-667-6031 email: [email protected] <><><><><><><><><><><><><><><><><><><><><><><><><><><><> TSPA :: DUSA=ADTO
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |