aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorPascal Bellard <pascal.bellard@ads-lu.com>2010-07-04 00:57:03 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-07-04 00:57:03 +0200
commit21e8e8da6483c80a6054b06e48341968a7dccdd5 (patch)
tree9980dc076107930f9706733c7cbedcf0e4099877 /miscutils
parent7c1b2b5420d4208864b8bc6e07e90792aed94981 (diff)
downloadbusybox-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.c3
-rw-r--r--miscutils/ionice.c3
-rw-r--r--miscutils/setsid.c3
-rw-r--r--miscutils/taskset.c3
-rw-r--r--miscutils/time.c15
-rw-r--r--miscutils/timeout.c3
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. */
368static void run_command(char *const *cmd, resource_t *resp) 368static 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}