On Fri, 14 Nov 2003 11:54, Russell Coker <[EMAIL PROTECTED]> wrote: > On Thu, 13 Nov 2003 10:59, Adam Heath <[EMAIL PROTECTED]> wrote: > > Something in your login chain is setting SIGCHLD to ignore. Check your > > shell, terminal, etc. > > Thanks for the information. > > I am using pam 0.77 that I compiled myself (Debian is still at 0.76). 0.77 > changes the code for running unix_chkpwd to set SIGCHLD to ignore, it sets > it back again later but there seems to be a bug in this code.
I've attached a patch from Red Hat to solve this pam bug, it will need to be included when we get Debian packages of pam 0.77.
Specifying SIG_IGN for SIGCHLD (which by default, is ignored) is not the same as specifying SIG_DFL. See the NOTES section of wait(2) for the skinny on this. --- Linux-PAM-0.77/modules/pam_unix/support.c 2003-07-09 00:15:29.000000000 -0400 +++ Linux-PAM-0.77/modules/pam_unix/support.c 2003-07-09 00:15:41.000000000 -0400 @@ -597,7 +597,7 @@ * The "noreap" module argument is provided so that the admin can * override this behavior. */ - sighandler = signal(SIGCHLD, SIG_IGN); + sighandler = signal(SIGCHLD, SIG_DFL); } /* fork */