My preference would be to look further at the epicsExitCallAtExits() solution, instead of adding all the public Shutdown routines (which also reduces the documentation changes needed). Maybe we could add a global flag to epicsExit.c which the registered routines can check to decide whether they need to do a full clean-up ready for a restart, or just a quick shutdown (I want to avoid them all wasting time freeing memory if the process is about to exit or VxWorks is about to reboot).
So, where to go with this from here?
My preference would be to look further at the epicsExitCallAt Exits() solution, instead of adding all the public Shutdown routines (which also reduces the documentation changes needed). Maybe we could add a global flag to epicsExit.c which the registered routines can check to decide whether they need to do a full clean-up ready for a restart, or just a quick shutdown (I want to avoid them all wasting time freeing memory if the process is about to exit or VxWorks is about to reboot).