diff options
Diffstat (limited to 'mailutils/mail.c')
-rw-r--r-- | mailutils/mail.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/mailutils/mail.c b/mailutils/mail.c index 64a5b996f..bcd358302 100644 --- a/mailutils/mail.c +++ b/mailutils/mail.c | |||
@@ -54,9 +54,7 @@ void FAST_FUNC launch_helper(const char **argv) | |||
54 | + (1 << SIGALRM) | 54 | + (1 << SIGALRM) |
55 | , signal_handler); | 55 | , signal_handler); |
56 | 56 | ||
57 | G.helper_pid = vfork(); | 57 | G.helper_pid = xvfork(); |
58 | if (G.helper_pid < 0) | ||
59 | bb_perror_msg_and_die("vfork"); | ||
60 | 58 | ||
61 | i = (!G.helper_pid) * 2; // for parent:0, for child:2 | 59 | i = (!G.helper_pid) * 2; // for parent:0, for child:2 |
62 | close(pipes[i + 1]); // 1 or 3 - closing one write end | 60 | close(pipes[i + 1]); // 1 or 3 - closing one write end |
@@ -67,8 +65,7 @@ void FAST_FUNC launch_helper(const char **argv) | |||
67 | if (!G.helper_pid) { | 65 | if (!G.helper_pid) { |
68 | // child: try to execute connection helper | 66 | // child: try to execute connection helper |
69 | // NB: SIGCHLD & SIGALRM revert to SIG_DFL on exec | 67 | // NB: SIGCHLD & SIGALRM revert to SIG_DFL on exec |
70 | BB_EXECVP(*argv, (char **)argv); | 68 | BB_EXECVP_or_die((char**)argv); |
71 | _exit(127); | ||
72 | } | 69 | } |
73 | 70 | ||
74 | // parent | 71 | // parent |