EPICS softIOC always dies in response to SIGHUP

Bug #644263 reported by Dmitry Teytelman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
Medium
Andrew Johnson

Bug Description

This issue concerns an EPICS softIOC on Linux. The IOC is running on fairly standard x86 PC hardware under a custom Linux
distribution (buildroot/busybox/uclibc/base-3.14.11). The IOC is normally started with /usr/bin/nohup, so that one can ssh to the unit, restart the IOC and disconnect. This worked very well until transition from older linuxthreads to NPTL. Now the IOC dies when it gets SIGHUP, even when started under nohup.

A bit of digging showed that the IOC installs a handler and unblocks SIGHUP when it calls epicsSignalInstallSigHupIgnore() during iocInit.

I've modified src/libCom/osi/os/posix/osdSignal.cpp (patch attached) so that it does not install a handler for SIGHUP, if the signal action is SIG_IGN. With this change the IOC does not die due to SIGHUP when started under nohup.

Revision history for this message
Dmitry Teytelman (dim-dimtel) wrote :
Andrew Johnson (anj)
Changed in epics-base:
assignee: nobody → Andrew Johnson (anj)
importance: Undecided → Medium
status: New → In Progress
Andrew Johnson (anj)
Changed in epics-base:
status: In Progress → Fix Committed
Andrew Johnson (anj)
Changed in epics-base:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.