The first is a bug in
--- ifup-ppp.dist Thu Oct 15 17:07:52 1998
+++ ifup-ppp Sun Jan 31 20:31:04 1999
@@ -6,7 +6,7 @@
if [ "$1" != daemon ] ; then
# disconnect stdin, out, err to disassociate from
# so that no HUPs will get through.
- $0 daemon $*& </dev/null >/dev/null 2>/dev/null
+ $0 daemon $* </dev/null >/dev/null 2>/dev/null &
The redirections don't seem to take effect unless they come
before the &. I discovered this when writing a CGI script
the command /usr/sbin/usernetctl ppp0 up. Because ifup-ppp
disconnected from stdout, Apache never saw stdout closed and
properly close the HTTP connection.
/usr/sbin/usernetctl ppp0 up &> /dev/null < /dev/null
to forcibly redirect stdin/out/err works around the
problem. Making the
above change to ifup-ppp fixes the root cause. (Thanks to
James Griffiths <my> for helping to track this one
This probably applies to all architectures, but I don't
have access to any others to test on.
fixed in initscripts-3.84