* configure.in: Prepare for next point release 4.2.
* if using the static char* for pw_dir, strdup it so
pw_free() can be used. (Closes: Debian#691459)
+ * Kill the child process group, rather than just the
+ immediate child; this is needed now that su no
+ longer starts a controlling terminal when not running an
+ interactive shell (closes: Debian#713979)
+ Thansk to Colin Watson for the patch.
2012-05-25 Nicolas François <nicolas.francois@centraliens.net>
static RETSIGTYPE kill_child (int unused(s))
{
if (0 != pid_child) {
- (void) kill (pid_child, SIGKILL);
+ (void) kill (-pid_child, SIGKILL);
(void) fputs (_(" ...killed.\n"), stderr);
} else {
(void) fputs (_(" ...waiting for child to terminate.\n"),
(void) fputs ("\n", stderr);
(void) fputs (_("Session terminated, terminating shell..."),
stderr);
- (void) kill (pid_child, caught);
+ (void) kill (-pid_child, caught);
}
ret = pam_close_session (pamh, 0);