EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: IOC Threads blocking all signals
From: William Norum via Core-talk <[email protected]>
To: Ralph Lange <[email protected]>
Cc: EPICS Core Talk <[email protected]>
Date: Wed, 19 Jun 2019 17:07:57 -0400
AFAICT the only mention of POSIX signals in the AppDevGuide is:

7.4.1 Configure Main Thread

Providing the IOC has not already been initialized, initHookAtIocBuild is announced first.

The main thread’s epicsThreadIsOkToBlock flag is set, the message “Starting iocInit” is logged and epicsSignalInstallSigHupIgnore called, which on Unix architectures prevents the process from shutting down if it later receives a HUP signal.

At this point, initHookAtBeginning is announced.

Perhaps this should be expanded and a couple of index entries (’signals’ and ‘POSIX signals’) added?


On Jun 19, 2019, at 3:47 PM, Ralph Lange via Core-talk <[email protected]> wrote:

Ok,
That's more or less what I thought.

In our case, a driver uses an archiving library whose opening call starts a separate process via fork/exec. The closing call to the library has code to kill the separate process by sending it the SIGINT signal.
We found that when testing the driver using a C++ program (Google Test) this works as expected, while testing it from within an IOC leaves the separate process running, which has its signal block mask up and can only be killed with SIGKILL.

Fun fact: as long as the library opening call is done as part of the setup call (from st.cmd, i.e. the IOC main thread) everything is fine. As soon as the opening call is done lazy (from a driver thread), things are misbehaving.

What would be the best place to add an ALL CAPS warning?

Thanks for your help,
~Ralph


References:
IOC Threads blocking all signals Ralph Lange via Core-talk
Re: IOC Threads blocking all signals Johnson, Andrew N. via Core-talk
Re: IOC Threads blocking all signals Ralph Lange via Core-talk

Navigate by Date:
Prev: Re: IOC Threads blocking all signals Ralph Lange via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0 Andrew Johnson via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: IOC Threads blocking all signals Ralph Lange via Core-talk
Next: Build failed in Jenkins: 3.15-pvDatabase-win64 #256 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 25 Jun 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·