X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_save.c;h=1a381db2b30cdb01f0d1f4b9512ea495c04cb1a5;hp=e62aca834c1de8bae60bd0c2c51f37842a377585;hb=dfa0332c4e6144699dedd5c9795219adc0f9c0d2;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/sbr/context_save.c b/sbr/context_save.c index e62aca8..1a381db 100644 --- a/sbr/context_save.c +++ b/sbr/context_save.c @@ -68,27 +68,23 @@ context_save(void) static int m_chkids(void) { - int i; pid_t pid; if (getuid() == geteuid()) return (-1); - for (i = 0; (pid = fork()) == -1 && i < 5; i++) - sleep(5); + switch (pid = fork()) { + case -1: + break; - switch (pid) { - case -1: - break; + case 0: + setgid(getgid()); + setuid(getuid()); + break; - case 0: - setgid(getgid()); - setuid(getuid()); - break; - - default: - pidwait(pid, -1); - break; + default: + pidwait(pid, -1); + break; } return pid;