From 2269cfda301f0187d41b7b42e5f57f5783afdc11 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 1 Jan 2008 18:48:34 -0500 Subject: * Split error messages for failures to drop real uid and gid. * Retry dropping uid and gid, possibly this will help with the "Resource temporarily unavailable" failures I've experienced under xen. --- IkiWiki/Wrapper.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'IkiWiki') diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index dcf3e5c36..16e5bd350 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -91,8 +91,14 @@ $envsave newenviron[i]=NULL; environ=newenviron; - if (setregid(getegid(), -1) != 0 || setreuid(geteuid(), -1) != 0) { - perror("failed to drop real uid/gid"); + if (setregid(getegid(), -1) != 0 && + setregid(getegid(), -1) != 0) { + perror("failed to drop real gid"); + exit(1); + } + if (setreuid(geteuid(), -1) != 0 && + setreuid(geteuid(), -1) != 0) { + perror("failed to drop real uid"); exit(1); } -- cgit v1.2.3