1
0
mirror of https://github.com/sheumann/hush.git synced 2025-01-15 18:30:43 +00:00

runsvdir: make it more robust against libc buglets (errno accidentally set to )

closes bug 3514

function                                             old     new   delta
runsvdir_main                                       1672    1664      -8
This commit is contained in:
Denis Vlasenko 2008-05-31 07:00:33 +00:00
parent 447bd66837
commit 8f74094548

@ -141,8 +141,12 @@ static void runsvdir(void)
}
for (i = 0; i < svnum; i++)
sv[i].isgone = 1;
while (1) {
errno = 0;
while ((d = readdir(dir))) {
d = readdir(dir);
if (!d)
break;
if (d->d_name[0] == '.')
continue;
if (stat(d->d_name, &s) == -1) {
@ -194,6 +198,7 @@ static void runsvdir(void)
if (sv[i].pid)
kill(sv[i].pid, SIGTERM);
sv[i] = sv[--svnum];
/* BUG? we deleted sv[i] by copying over sv[last], but we will not check this newly-copied one! */
check = 1;
}
}