revert last two commits. vfork cannot be used in subroutine,
[platform/upstream/busybox.git] / miscutils / crontab.c
index 4bba9fb..dc3179d 100644 (file)
@@ -38,8 +38,10 @@ static void change_user(const struct passwd *pas)
 static void edit_file(const struct passwd *pas, const char *file)
 {
        const char *ptr;
-       int pid = xvfork();
+       int pid = vfork();
 
+       if (pid < 0) /* failure */
+               bb_perror_msg_and_die("vfork");
        if (pid) { /* parent */
                wait4pid(pid);
                return;
@@ -63,7 +65,9 @@ static int open_as_user(const struct passwd *pas, const char *file)
        pid_t pid;
        char c;
 
-       pid = xvfork();
+       pid = vfork();
+       if (pid < 0) /* ERROR */
+               bb_perror_msg_and_die("vfork");
        if (pid) { /* PARENT */
                if (wait4pid(pid) == 0) {
                        /* exitcode 0: child says it can read */