X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/17932f7aea1c21cf17738f47996345d9d0a6ce51..85f521d5a7e1b4320db1871ced48ea4137f77fc8:/sbr/context_save.c diff --git a/sbr/context_save.c b/sbr/context_save.c index 5224af4c..d7d87e45 100644 --- a/sbr/context_save.c +++ b/sbr/context_save.c @@ -53,6 +53,8 @@ context_save (void) sigprocmask (SIG_SETMASK, &oset, &set); /* reset the signal mask */ if (action == 0) + /* This must be _exit(), not exit(), because the child didn't + call unregister_for_removal() in m_chkids(). */ _exit (0); /* we are child, time to die */ } @@ -83,6 +85,8 @@ m_chkids (void) break; case 0: + /* It's not necessary to call unregister_for_removal(0) + because the child calls _exit() in context_save(). */ setgid (getgid ()); setuid (getuid ()); break;