[stunnel-users] Possible signal handling bug in fork mode
Philippe Anctil
philippe.anctil at gmail.com
Thu Feb 18 00:36:41 CET 2016
Hi,
I have looked further into this issue. Part of the solution would be to
reset signal disposition to SIG_DFL, either in the child after the fork, or
around the call to create_client in accept connection for the child to
inherit appropriate disposition from the start. Temporarily blocking
signals could help. I have to verify exactly how it behaves.
By the way, why is SIG_CHLD set to null_handler in create_client? The
default disposition for this signal is SIG_IGN.
Regards,
2016-02-16 11:45 GMT-05:00 Philippe Anctil <philippe.anctil at gmail.com>:
> Hi,
>
> In fork mode, sending a sigterm signal to a child is caught by the parent.
> I suspect it has something to do with signal_pipe being shared by the child
> and parent after the fork.
>
> Here I sent a signal to the parent while a child process was also running.
> The parent shut down as expected. After sending sigterm, the child remains.
>
> Processes before sigterm:
>
> UID PID PPID C STIME TTY STAT TIME CMD
> user 1423 1 0 10:32 ? Ss 0:00
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
> user 1921 1423 0 10:37 ? S 0:00 \_
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
>
> selected pid 1423
>
> Processes after:
>
> UID PID PPID C STIME TTY STAT TIME CMD
> user 1921 1 0 10:37 ? S 0:00
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
>
> Here I sent the signal to the child. The parent shut down and the child
> completed normally.
>
> Processes before:
>
> UID PID PPID C STIME TTY STAT TIME CMD
> user 1276 1 0 10:31 ? Ss 0:00
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
> user 1309 1276 0 10:31 ? S 0:00 \_
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
>
> selected pid 1309
>
> Processes after:
>
> UID PID PPID C STIME TTY STAT TIME CMD
> user 1309 1 0 10:31 ? S 0:00
> /usr/local/stunnel/bin/stunnel.bin /usr/local/stunnel/etc/server.conf
>
> I know I should be trying threads. I will eventually. I can only switch
> once I validate it can sustain our level of traffic. Fork has done that
> flawlessly for many years now.
>
> Best regards,
>
>
> --
> Philippe Anctil
>
--
Philippe Anctil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stunnel.org/pipermail/stunnel-users/attachments/20160217/ea3aa62d/attachment.html>
More information about the stunnel-users
mailing list