From 926031b7640bf5aad2ffcd54b096911743a47d97 Mon Sep 17 00:00:00 2001 From: Pascal Bellard Date: Sun, 4 Jul 2010 15:32:38 +0200 Subject: *: introduce and use xfork() and xvfork() function old new delta launch_helper 170 169 -1 setup_heredoc 312 302 -10 handle_dir_common 367 354 -13 expand_vars_to_list 2456 2443 -13 open_transformer 89 74 -15 data_extract_to_command 439 423 -16 do_ipaddr 1406 1389 -17 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-85) Total: -85 bytes Signed-off-by: Pascal Bellard Signed-off-by: Denys Vlasenko --- miscutils/conspy.c | 5 +---- miscutils/crontab.c | 8 ++------ miscutils/time.c | 4 +--- miscutils/timeout.c | 4 +--- 4 files changed, 5 insertions(+), 16 deletions(-) (limited to 'miscutils') diff --git a/miscutils/conspy.c b/miscutils/conspy.c index 3f341ce..509a0f2 100644 --- a/miscutils/conspy.c +++ b/miscutils/conspy.c @@ -309,10 +309,7 @@ static void create_cdev_if_doesnt_exist(const char* name, dev_t dev) static NOINLINE void start_shell_in_child(const char* tty_name) { - int pid = vfork(); - if (pid < 0) { - bb_perror_msg_and_die("vfork"); - } + int pid = xvfork(); if (pid == 0) { struct termios termchild; char *shell = getenv("SHELL"); diff --git a/miscutils/crontab.c b/miscutils/crontab.c index 5557bc4..b8a5abc 100644 --- a/miscutils/crontab.c +++ b/miscutils/crontab.c @@ -20,10 +20,8 @@ static void edit_file(const struct passwd *pas, const char *file) { const char *ptr; - int pid = vfork(); + int pid = xvfork(); - if (pid < 0) /* failure */ - bb_perror_msg_and_die("vfork"); if (pid) { /* parent */ wait4pid(pid); return; @@ -51,9 +49,7 @@ static int open_as_user(const struct passwd *pas, const char *file) pid_t pid; char c; - pid = vfork(); - if (pid < 0) /* ERROR */ - bb_perror_msg_and_die("vfork"); + pid = xvfork(); if (pid) { /* PARENT */ if (wait4pid(pid) == 0) { /* exitcode 0: child says it can read */ diff --git a/miscutils/time.c b/miscutils/time.c index 5cfbcef..9facc36 100644 --- a/miscutils/time.c +++ b/miscutils/time.c @@ -372,9 +372,7 @@ static void run_command(char *const *cmd, resource_t *resp) void (*quit_signal)(int); resp->elapsed_ms = monotonic_ms(); - pid = vfork(); - if (pid < 0) - bb_perror_msg_and_die("vfork"); + pid = xvfork(); if (pid == 0) { /* Child */ BB_EXECVP_or_die((char**)cmd); diff --git a/miscutils/timeout.c b/miscutils/timeout.c index f6e655a..48b8d8f 100644 --- a/miscutils/timeout.c +++ b/miscutils/timeout.c @@ -71,9 +71,7 @@ int timeout_main(int argc UNUSED_PARAM, char **argv) sv1 = argv[optind]; sv2 = argv[optind + 1]; #endif - pid = vfork(); - if (pid < 0) - bb_perror_msg_and_die("vfork"); + pid = xvfork(); if (pid == 0) { /* Child: spawn grandchild and exit */ parent = getppid(); -- cgit v1.1