diff options
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r-- | login-utils/su-common.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/login-utils/su-common.c b/login-utils/su-common.c index bf4a47126..1662d21bb 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -437,7 +437,10 @@ static int pty_handle_signal(struct su_context *su, int fd) /* The child terminated or stopped. Note that we ignore SIGCONT * here, because stop/cont semantic is handled by wait_for_child() */ - if (info.ssi_code == CLD_EXITED || info.ssi_status == SIGSTOP) + if (info.ssi_code == CLD_EXITED + || info.ssi_code == CLD_KILLED + || info.ssi_code == CLD_DUMPED + || info.ssi_status == SIGSTOP) wait_for_child(su); /* The child is dead, force poll() timeout. */ if (su->child == (pid_t) -1) |