diff options
author | Pascal Bellard <pascal.bellard@ads-lu.com> | 2010-07-04 00:57:03 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-07-04 00:57:03 +0200 |
commit | 21e8e8da6483c80a6054b06e48341968a7dccdd5 (patch) | |
tree | 9980dc076107930f9706733c7cbedcf0e4099877 /miscutils | |
parent | 7c1b2b5420d4208864b8bc6e07e90792aed94981 (diff) | |
download | busybox-w32-21e8e8da6483c80a6054b06e48341968a7dccdd5.tar.gz busybox-w32-21e8e8da6483c80a6054b06e48341968a7dccdd5.tar.bz2 busybox-w32-21e8e8da6483c80a6054b06e48341968a7dccdd5.zip |
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>
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/chrt.c | 3 | ||||
-rw-r--r-- | miscutils/ionice.c | 3 | ||||
-rw-r--r-- | miscutils/setsid.c | 3 | ||||
-rw-r--r-- | miscutils/taskset.c | 3 | ||||
-rw-r--r-- | miscutils/time.c | 15 | ||||
-rw-r--r-- | miscutils/timeout.c | 3 |
6 files changed, 11 insertions, 19 deletions
diff --git a/miscutils/chrt.c b/miscutils/chrt.c index 3d0da58ca..d5f87c4d7 100644 --- a/miscutils/chrt.c +++ b/miscutils/chrt.c | |||
@@ -120,6 +120,5 @@ int chrt_main(int argc UNUSED_PARAM, char **argv) | |||
120 | if (!argv[0]) /* "-p <priority> <pid> [...]" */ | 120 | if (!argv[0]) /* "-p <priority> <pid> [...]" */ |
121 | goto print_rt_info; | 121 | goto print_rt_info; |
122 | 122 | ||
123 | BB_EXECVP(argv[0], argv); | 123 | BB_EXECVP_or_die(argv); |
124 | bb_perror_msg_and_die("can't execute '%s'", argv[0]); | ||
125 | } | 124 | } |
diff --git a/miscutils/ionice.c b/miscutils/ionice.c index 8393cd8b2..52e51b908 100644 --- a/miscutils/ionice.c +++ b/miscutils/ionice.c | |||
@@ -90,8 +90,7 @@ int ionice_main(int argc UNUSED_PARAM, char **argv) | |||
90 | if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1) | 90 | if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1) |
91 | bb_perror_msg_and_die("ioprio_%cet", 's'); | 91 | bb_perror_msg_and_die("ioprio_%cet", 's'); |
92 | if (argv[0]) { | 92 | if (argv[0]) { |
93 | BB_EXECVP(argv[0], argv); | 93 | BB_EXECVP_or_die(argv); |
94 | bb_perror_msg_and_die("can't execute '%s'", argv[0]); | ||
95 | } | 94 | } |
96 | } | 95 | } |
97 | 96 | ||
diff --git a/miscutils/setsid.c b/miscutils/setsid.c index 60ee062e3..c573fae34 100644 --- a/miscutils/setsid.c +++ b/miscutils/setsid.c | |||
@@ -45,6 +45,5 @@ int setsid_main(int argc UNUSED_PARAM, char **argv) | |||
45 | } | 45 | } |
46 | 46 | ||
47 | argv++; | 47 | argv++; |
48 | BB_EXECVP(argv[0], argv); | 48 | BB_EXECVP_or_die(argv); |
49 | bb_perror_msg_and_die("can't execute '%s'", argv[0]); | ||
50 | } | 49 | } |
diff --git a/miscutils/taskset.c b/miscutils/taskset.c index 2891003df..08198d5d4 100644 --- a/miscutils/taskset.c +++ b/miscutils/taskset.c | |||
@@ -132,6 +132,5 @@ int taskset_main(int argc UNUSED_PARAM, char **argv) | |||
132 | if (!argv[0]) /* "-p <aff> <pid> [...ignored...]" */ | 132 | if (!argv[0]) /* "-p <aff> <pid> [...ignored...]" */ |
133 | goto print_aff; /* print new affinity and exit */ | 133 | goto print_aff; /* print new affinity and exit */ |
134 | 134 | ||
135 | BB_EXECVP(argv[0], argv); | 135 | BB_EXECVP_or_die(argv); |
136 | bb_perror_msg_and_die("can't execute '%s'", argv[0]); | ||
137 | } | 136 | } |
diff --git a/miscutils/time.c b/miscutils/time.c index f5d1e15fb..5cfbcef8e 100644 --- a/miscutils/time.c +++ b/miscutils/time.c | |||
@@ -367,20 +367,17 @@ static void summarize(const char *fmt, char **command, resource_t *resp) | |||
367 | Put the statistics in *RESP. */ | 367 | Put the statistics in *RESP. */ |
368 | static void run_command(char *const *cmd, resource_t *resp) | 368 | static void run_command(char *const *cmd, resource_t *resp) |
369 | { | 369 | { |
370 | pid_t pid; /* Pid of child. */ | 370 | pid_t pid; |
371 | void (*interrupt_signal)(int); | 371 | void (*interrupt_signal)(int); |
372 | void (*quit_signal)(int); | 372 | void (*quit_signal)(int); |
373 | 373 | ||
374 | resp->elapsed_ms = monotonic_ms(); | 374 | resp->elapsed_ms = monotonic_ms(); |
375 | pid = vfork(); /* Run CMD as child process. */ | 375 | pid = vfork(); |
376 | if (pid < 0) | 376 | if (pid < 0) |
377 | bb_perror_msg_and_die("fork"); | 377 | bb_perror_msg_and_die("vfork"); |
378 | if (pid == 0) { /* If child. */ | 378 | if (pid == 0) { |
379 | /* Don't cast execvp arguments; that causes errors on some systems, | 379 | /* Child */ |
380 | versus merely warnings if the cast is left off. */ | 380 | BB_EXECVP_or_die((char**)cmd); |
381 | BB_EXECVP(cmd[0], cmd); | ||
382 | xfunc_error_retval = (errno == ENOENT ? 127 : 126); | ||
383 | bb_perror_msg_and_die("can't execute '%s'", cmd[0]); | ||
384 | } | 381 | } |
385 | 382 | ||
386 | /* Have signals kill the child but not self (if possible). */ | 383 | /* Have signals kill the child but not self (if possible). */ |
diff --git a/miscutils/timeout.c b/miscutils/timeout.c index 273d26953..f6e655acc 100644 --- a/miscutils/timeout.c +++ b/miscutils/timeout.c | |||
@@ -110,6 +110,5 @@ int timeout_main(int argc UNUSED_PARAM, char **argv) | |||
110 | argv[0] = sv1; | 110 | argv[0] = sv1; |
111 | argv[1] = sv2; | 111 | argv[1] = sv2; |
112 | #endif | 112 | #endif |
113 | BB_EXECVP(argv[0], argv); | 113 | BB_EXECVP_or_die(argv); |
114 | bb_perror_msg_and_die("can't execute '%s'", argv[0]); | ||
115 | } | 114 | } |