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

Reply via email to