]> err.no Git - util-linux/commit
login: improve work with signals
authorKarel Zak <kzak@redhat.com>
Thu, 8 Mar 2007 20:57:48 +0000 (21:57 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 8 Mar 2007 20:57:48 +0000 (21:57 +0100)
commitb2452358860526b454ba5f6c71183300223e0e78
treeadba1e2a78f963af58cfc95ef897fb41eefe4f87
parent1c51a3683a1e1ae589e1ec294f1153f4f567f899
login: improve work with signals

The login cannot ignore signals, because:

 * SIGHUP is only way how inform session leader that controlling
   tty goes away. The leader has to inform others processes in same
   process group about the signal.

 * SIGHUP/SIGTERM cannot kill wait(2)-ing login, we have to wait as long
   as any child process exists. The PAM session has to be closed correctly.

 * The child process (before setsid()) has to call exit() if a controlling
   tty goes away.

This patch is inspired by patch from Red Hat that is very well tested for last
4 years in all Red Hat distros.

Signed-off-by: Karel Zak <kzak@redhat.com>
login-utils/login.c