[Bug 212829] daemon(8) using -P swallows signals such as SIGHUP instead of propagating them

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Sep 22 09:21:59 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212829

--- Comment #4 from Dave Cottlehuber <dch at skunkwerks.at> ---
BTW I can see the advantages of daemon accepting all signals but then the
change becomes more complex - the original issue was allowing the SIGHUP from
`service widget reload` to be passed through. 

Apparently /etc/rc.subr allows passing arbitrary signals through if defined in
the widget's script:

                reload)
                        if [ -z "$rc_pid" ]; then
                                _run_rc_notrunning
                                return 1
                        fi

                        _run_rc_precmd || return 1

                        _doit=$(_run_rc_killcmd "${sig_reload:-HUP}")
                        _run_rc_doit "$_doit" || return 1

                        _run_rc_postcmd
                        ;;


viz:

japanese/ebnetd/files/ebhttpd.in:sig_reload=SIGHUP
japanese/ebnetd/files/ebnetd.in:sig_reload=SIGHUP
japanese/ebnetd/files/ndtpd.in:sig_reload=SIGHUP
lang/php55/files/php-fpm.in:sig_reload="USR2"
lang/php56/files/php-fpm.in:sig_reload="USR2"
lang/php70/files/php-fpm.in:sig_reload="USR2"
mail/mimedefang/files/patch-examples__init-script.in:     sig_reload="INT"
mail/opendkim/files/milter-opendkim.in:sig_reload="USR1"
mail/rspamd-devel/files/rspamd_redirector.in:sig_reload="USR1"
mail/rspamd/files/rspamd.in:sig_reload="HUP"
mail/rspamd/files/rspamd_redirector.in:sig_reload="USR1"
net-mgmt/icinga-core/files/icinga.in:sig_reload=HUP
net-mgmt/icinga2/files/icinga2.in:sig_reload=HUP
net-mgmt/nagios/files/nagios.in:sig_reload=HUP
net-mgmt/nagios4/files/nagios.in:sig_reload=HUP
net-mgmt/nrpe/files/nrpe2.in:sig_reload=HUP
net/exabgp/files/exabgp.in:sig_reload="USR1"
net/exaddos/files/exaddos.in:sig_reload="USR1"
net/vncreflector/files/vncreflector.in:sig_reload=USR2
security/openvpn-devel/files/openvpn.in:    sig_reload=USR1 run_rc_command
reload
security/openvpn/files/openvpn.in:    sig_reload=USR1 run_rc_command reload
security/openvpn/files/openvpn.in:      sig_reload=USR2
sysutils/burp/files/burp.in:sig_reload="HUP"
sysutils/sec/files/sec.in:sig_reload=HUP
www/kannel-sqlbox/files/kannel_sqlbox.in:sig_reload=SIGUSR1
www/kannel/files/kannel_bearerbox.in:sig_reload=SIGUSR1
www/kannel/files/kannel_smsbox.in:sig_reload=SIGUSR1
www/kannel/files/kannel_wapbox.in:sig_reload=SIGUSR1
www/lighttpd/files/lighttpd.in: sig_reload="INT"
www/nghttp2/files/nghttpx.in:sig_reload="USR2"          # exec-self reload;
Note: future versions have SIGHUP to reload
www/nghttp2/files/nghttpx.in:   sig_reload="USR1"
www/nginx-devel/files/nginx.in: sig_reload="USR2"
www/nginx-devel/files/nginx.in: sig_reload="QUIT"
www/nginx/files/nginx.in:       sig_reload="USR2"
www/nginx/files/nginx.in:       sig_reload="QUIT"
www/ufdbguard/files/ufdbguardd.in:      sig_reload=USR1
www/ufdbguard/files/ufdbguardd.in:      sig_reload=USR2
www/uwsgi/files/uwsgi.in:       sig_reload="TERM"

TLDR a generalised solution might be better.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list