diff --git a/kcheckpass/kcheckpass.c b/kcheckpass/kcheckpass.c --- a/kcheckpass/kcheckpass.c +++ b/kcheckpass/kcheckpass.c @@ -281,6 +281,11 @@ procctl(P_PID, getpid(), PROC_TRACE_CTL, &mode); #endif + // prevent becoming an orphan while waiting for SIGUSR2 +#if HAVE_PR_SET_DUMPABLE + prctl(PR_SET_PDEATHSIG, SIGUSR2); +#endif + /* Make sure stdout/stderr are open */ for (c = 1; c <= 2; c++) { if (fcntl(c, F_GETFL) == -1) {