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:
committed by
Denys Vlasenko
parent
7c1b2b5420
commit
21e8e8da64
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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). */
|
||||
|
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user