Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022 
<== Date ==> <== Thread ==>

Subject: Shutdown issues
From: Ralph Lange <Ralph.Lange@gmx.de>
To: EPICS Core-Talk <core-talk@aps.anl.gov>
Date: Wed, 19 Nov 2014 10:59:10 +0100
All,

Since Michael had to take back some of the epicsExit() changes, I was thinking about how to do a smooth transition to a smarter IOC shutdown/restart.

This is coming back to a suggestion that Andrew had a few months back:
Do we need a staged shutdown process with hooks for each stage - similar to the initHooks mechanism?

At that point there would also be a clearer definition of which stages are shut down for a "hot standby" or a "warm complete restart" of the IOC.

Maybe the module could also declare its name and functionalities, e.g. as an or'ed mask of features like "supports_standby", "supports_restart", "supports_link_change", etc so that the IOC core can decide if and how to do restart/shutdown and can provide better diagnostics.

So that instead of simply setting
    epicsAtExit(func, arg);

a module would set things along the line of
    id = epicsExitRegister("myModule", supports_standby|supports_restart);
    epicsAddExitHook(id, EXIT_BEFORE_CORE, func1, arg1);
    epicsAddExitHook(id, EXIT_BEFORE_SERVER, func2, arg2);
    epicsAddExitHook(id, EXIT_BEFORE_DBSCAN, func3, arg3);
    epicsAddExitHook(id, EXIT_BEFORE_ERRLOG, func4, arg4);

Compatibility - epicsAtExit could do
    {
        bla = epicsExitRegister("$$filename$$", 0);
        epicsAddExitHook(bla, EXIT_BEFORE_CORE, func, arg);
    }

What do you think? Too much boilerplate? Functionality missing?

~Ralph


Replies:
Re: Shutdown issues Benjamin Franksen

Navigate by Date:
Prev: Re: ringPointerTest Michael Davidsaver
Next: Re: Shutdown issues Benjamin Franksen
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022 
Navigate by Thread:
Prev: Jenkins build is back to stable : epics-base-3.15 #144 APS Jenkins
Next: Re: Shutdown issues Benjamin Franksen
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022 
ANJ, 20 Nov 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·