EPICS softIOC always dies in response to SIGHUP

Reported by Dmitry Teytelman on 2010-09-21
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
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.

Related branches

Andrew Johnson (anj) on 2010-09-23
Changed in epics-base:
assignee: nobody → Andrew Johnson (anj)
importance: Undecided → Medium
status: New → In Progress
Andrew Johnson (anj) on 2010-09-23
Changed in epics-base:
status: In Progress → Fix Committed
Andrew Johnson (anj) on 2010-11-24
Changed in epics-base:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers