diff options
Diffstat (limited to 'e2fsprogs/fsck.c')
-rw-r--r-- | e2fsprogs/fsck.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c index c31ab3f1a..447b4d008 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c | |||
@@ -667,20 +667,9 @@ static void execute(const char *type, const char *device, const char *mntpt, | |||
667 | /* Fork and execute the correct program. */ | 667 | /* Fork and execute the correct program. */ |
668 | pid = -1; | 668 | pid = -1; |
669 | if (!noexecute) { | 669 | if (!noexecute) { |
670 | /* TODO: NOMMU friendly way (vfork)? */ | 670 | pid = spawn(argv); |
671 | pid = fork(); | ||
672 | if (pid < 0) | 671 | if (pid < 0) |
673 | bb_perror_msg_and_die("fork"); | 672 | bb_perror_msg("%s", argv[0]); |
674 | if (pid == 0) { | ||
675 | /* Child */ | ||
676 | if (!interactive) { | ||
677 | /* NB: e2fsck will complain because of this! | ||
678 | * Use "fsck -s" to avoid... */ | ||
679 | close(0); | ||
680 | } | ||
681 | BB_EXECVP(argv[0], argv); | ||
682 | bb_perror_msg_and_die("%s", argv[0]); | ||
683 | } | ||
684 | } | 673 | } |
685 | 674 | ||
686 | for (i = num_args+1; i < argc; i++) | 675 | for (i = num_args+1; i < argc; i++) |