The bug does not appear in original pppd code. It is caused by
"always_setsid" patch. With this patch, setsid() function is invoked
before opening modem (tty) device. If the setsid() succeeds, pppd
process is losing their controlling tty and then the opened modem device
becomes a controlling tty of the pppd. This causes that when the parent
dies, HUP signal is sent to all children processes - in particular to
the child process communicating via modem.
The setsid() function fails when pppd is invoked directly from shell. It
succeeds when is invoked e.g. from a shell script. If sedsid() fails,
HUP signal is not sent to children when parent dies because the opened
modem device does not become the controlling tty. This explains behavior
described by David (Message #27).
As I understand, the "always_setsid" patch was added to prevent from
kill of parent processes when a signal is delivered to pppd. But, as I
see in the original pppd code, the problem should not appear. How old is
the patch? Maybe the problem was fixed in original code some time ago,
and the patch is not needed?
Rafal
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org