aboutsummaryrefslogtreecommitdiff
path: root/mailutils/mail.c
diff options
context:
space:
mode:
Diffstat (limited to 'mailutils/mail.c')
-rw-r--r--mailutils/mail.c7
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