libbb: introduce and use BB_EXECVP_or_die()

function                                             old     new   delta
BB_EXECVP_or_die                                       -      47     +47
time_main                                           1042    1043      +1
chrt_main                                            371     364      -7
ionice_main                                          292     282     -10
setsid_main                                           69      56     -13
nohup_main                                           236     223     -13
cttyhack_main                                        266     253     -13
chroot_main                                           94      81     -13
chpst_main                                           746     733     -13
timeout_main                                         297     279     -18
taskset_main                                         541     522     -19
vfork_child                                           67      45     -22
parse                                                975     953     -22
lpd_main                                             770     748     -22
launch_helper                                        192     170     -22
tcpudpsvd_main                                      1810    1782     -28
nice_main                                            190     156     -34
env_main                                             242     206     -36
run_command                                          221     174     -47
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/17 up/down: 48/-352)         Total: -304 bytes

Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Pascal Bellard
2010-07-04 00:57:03 +02:00
committed by Denys Vlasenko
parent 7c1b2b5420
commit 21e8e8da64
22 changed files with 68 additions and 82 deletions

View File

@ -120,6 +120,5 @@ int chrt_main(int argc UNUSED_PARAM, char **argv)
if (!argv[0]) /* "-p <priority> <pid> [...]" */
goto print_rt_info;
BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
BB_EXECVP_or_die(argv);
}

View File

@ -90,8 +90,7 @@ int ionice_main(int argc UNUSED_PARAM, char **argv)
if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1)
bb_perror_msg_and_die("ioprio_%cet", 's');
if (argv[0]) {
BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
BB_EXECVP_or_die(argv);
}
}

View File

@ -45,6 +45,5 @@ int setsid_main(int argc UNUSED_PARAM, char **argv)
}
argv++;
BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
BB_EXECVP_or_die(argv);
}

View File

@ -132,6 +132,5 @@ int taskset_main(int argc UNUSED_PARAM, char **argv)
if (!argv[0]) /* "-p <aff> <pid> [...ignored...]" */
goto print_aff; /* print new affinity and exit */
BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
BB_EXECVP_or_die(argv);
}

View File

@ -367,20 +367,17 @@ static void summarize(const char *fmt, char **command, resource_t *resp)
Put the statistics in *RESP. */
static void run_command(char *const *cmd, resource_t *resp)
{
pid_t pid; /* Pid of child. */
pid_t pid;
void (*interrupt_signal)(int);
void (*quit_signal)(int);
resp->elapsed_ms = monotonic_ms();
pid = vfork(); /* Run CMD as child process. */
pid = vfork();
if (pid < 0)
bb_perror_msg_and_die("fork");
if (pid == 0) { /* If child. */
/* Don't cast execvp arguments; that causes errors on some systems,
versus merely warnings if the cast is left off. */
BB_EXECVP(cmd[0], cmd);
xfunc_error_retval = (errno == ENOENT ? 127 : 126);
bb_perror_msg_and_die("can't execute '%s'", cmd[0]);
bb_perror_msg_and_die("vfork");
if (pid == 0) {
/* Child */
BB_EXECVP_or_die((char**)cmd);
}
/* Have signals kill the child but not self (if possible). */

View File

@ -110,6 +110,5 @@ int timeout_main(int argc UNUSED_PARAM, char **argv)
argv[0] = sv1;
argv[1] = sv2;
#endif
BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
BB_EXECVP_or_die(argv);
}