diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-05-31 14:36:15 -0400 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-05-31 14:37:05 -0400 |
commit | c00890a2f033aa36dd5d88f8d3bdd5b7a927a687 (patch) | |
tree | fe46d5c4e33410cc4f10b5b86f1e20d2fa07a1e0 /ikiwiki-mass-rebuild | |
parent | 0a35e8a3525db58bf38cd6ffdc45c7baaae04dd8 (diff) | |
download | ikiwiki-c00890a2f033aa36dd5d88f8d3bdd5b7a927a687.tar ikiwiki-c00890a2f033aa36dd5d88f8d3bdd5b7a927a687.tar.gz |
ikiwiki-mass-rebuild: under $! before setting $) to avoid strange errno issue
This fixes a problem sgran saw on alioth. Apparently nss-db sets errno to
ENOENT as a side effect trying to read an optional file, but succeeds
anyway. Then, somehow, errno remains set across the library calls made by
$).
So unset it first as a workaround; there's probably a nss-db, libc, and/or
perl bug underneath.
Diffstat (limited to 'ikiwiki-mass-rebuild')
-rwxr-xr-x | ikiwiki-mass-rebuild | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild index 8cc6f45c1..0057beb4f 100755 --- a/ikiwiki-mass-rebuild +++ b/ikiwiki-mass-rebuild @@ -34,6 +34,7 @@ sub processline { if (! $pid) { my ($uuid, $ugid) = (getpwnam($user))[2, 3]; my $grouplist=join(" ", $ugid, $ugid, supplemental_groups($user)); + undef $!; $)=$grouplist; if ($!) { die "failed to set egid $grouplist: $!"; |