summaryrefslogtreecommitdiff
path: root/src/sysdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index 13417ed04e2..be412e2385d 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -3584,17 +3584,17 @@ rmdir (dpath)
dup2 (fd, 1);
dup2 (fd, 2);
}
- wait_for_termination (cpid);
- if (synch_process_death != 0 || synch_process_retcode != 0)
- return -1; /* /bin/rmdir failed */
+ execl ("/bin/rmdir", "rmdir", dpath, (char *) 0);
+ _exit (-1); /* Can't exec /bin/rmdir */
+
default: /* Parent process */
- while (cpid != wait (&status)); /* Wait for kid to finish */
+ wait_for_termination (cpid);
}
- if (WIFSIGNALED (status) || WEXITSTATUS (status) != 0)
+ if (synch_process_death != 0 || synch_process_retcode != 0)
{
errno = EIO; /* We don't know why, but */
- return -1; /* /bin/mkdir failed */
+ return -1; /* /bin/rmdir failed */
}
return 0;