summaryrefslogtreecommitdiff
path: root/e2fsprogs/fsck.c
diff options
context:
space:
mode:
Diffstat (limited to 'e2fsprogs/fsck.c')
-rw-r--r--e2fsprogs/fsck.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c
index c31ab3f..447b4d0 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,
/* Fork and execute the correct program. */
pid = -1;
if (!noexecute) {
-/* TODO: NOMMU friendly way (vfork)? */
- pid = fork();
+ pid = spawn(argv);
if (pid < 0)
- bb_perror_msg_and_die("fork");
- if (pid == 0) {
- /* Child */
- if (!interactive) {
- /* NB: e2fsck will complain because of this!
- * Use "fsck -s" to avoid... */
- close(0);
- }
- BB_EXECVP(argv[0], argv);
- bb_perror_msg_and_die("%s", argv[0]);
- }
+ bb_perror_msg("%s", argv[0]);
}
for (i = num_args+1; i < argc; i++)