- switch (pid = vfork()) {
- case -1:
- advise("fork", "unable to");
+ switch (pid = fork()) {
+ case -1:
+ advise("fork", "unable to");
+ return 0;
+
+ case 0:
+ setgid(getgid());
+ setuid(getuid());
+
+ execl("/bin/mkdir", "mkdir", dir, NULL);
+ execl("/usr/bin/mkdir", "mkdir", dir, NULL);
+ fprintf(stderr, "unable to exec ");
+ perror("mkdir");
+ _exit(-1);
+
+ default:
+ if (pidXwait(pid, "mkdir"))