The command in question is:
sucap syslogd syslogd cap_net_bind_service=eip syslogd -n -f /etc/syslogd.conf
When the exact command is run from a root shell, the error does not
occur (syslogd runs).
When the command is changed to "strace sucap...", the error does not occur.
When the command is wrapped in 'bash -c "sucap..."', it fails, unless the
output is redirected, in which case it works.
The salient difference I see is that it fails exactly when
(getpgid() != getppid() before the call to setpgid(). I don't
understand all the tests in sys.c, unfortunately, though by process
of elimination it must be the 'if (p->leader)' test at kernel.sys:798.
Is there some reason for this behaviour, or is it a bug?
I am happy to test theories or get educated...
-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/