aboutsummaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-03-18 22:44:00 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-03-18 22:44:00 +0100
commit8531d76a15890c2c535908ce888b2e2aed35b172 (patch)
tree2035bb9eb9feec14d80487a313729192bb0e875c /networking
parentc5c006c10c060e7f1a97250d039051b93ed390b2 (diff)
downloadbusybox-w32-8531d76a15890c2c535908ce888b2e2aed35b172.tar.gz
busybox-w32-8531d76a15890c2c535908ce888b2e2aed35b172.tar.bz2
busybox-w32-8531d76a15890c2c535908ce888b2e2aed35b172.zip
*: code shrink and better "died from signal" reporting from wait4pid
function old new delta parse 964 967 +3 udhcp_run_script 670 665 -5 singlemount 911 906 -5 mount_it_now 360 355 -5 inotifyd_main 521 516 -5 xspawn 21 - -21 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/4 up/down: 3/-41) Total: -38 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking')
-rw-r--r--networking/ifplugd.c6
-rw-r--r--networking/ntpd.c2
-rw-r--r--networking/udhcp/script.c2
-rw-r--r--networking/zcip.c4
4 files changed, 7 insertions, 7 deletions
diff --git a/networking/ifplugd.c b/networking/ifplugd.c
index ac6607c91..62b135524 100644
--- a/networking/ifplugd.c
+++ b/networking/ifplugd.c
@@ -132,10 +132,10 @@ static int run_script(const char *action)
132 argv[3] = (char*) G.extra_arg; 132 argv[3] = (char*) G.extra_arg;
133 argv[4] = NULL; 133 argv[4] = NULL;
134 134
135 /* r < 0 - can't exec, 0 <= r < 1000 - exited, >1000 - killed by sig (r-1000) */ 135 /* r < 0 - can't exec, 0 <= r < 0x180 - exited, >=0x180 - killed by sig (r-0x180) */
136 r = wait4pid(spawn(argv)); 136 r = spawn_and_wait(argv);
137 137
138 bb_error_msg("exit code: %d", r); 138 bb_error_msg("exit code: %d", r & 0xff);
139 return (option_mask32 & FLAG_IGNORE_RETVAL) ? 0 : r; 139 return (option_mask32 & FLAG_IGNORE_RETVAL) ? 0 : r;
140 140
141#else /* insanity */ 141#else /* insanity */
diff --git a/networking/ntpd.c b/networking/ntpd.c
index 04df3fa7f..6d9183a4b 100644
--- a/networking/ntpd.c
+++ b/networking/ntpd.c
@@ -772,7 +772,7 @@ static void run_script(const char *action, double offset)
772 772
773 /* Don't want to wait: it may run hwclock --systohc, and that 773 /* Don't want to wait: it may run hwclock --systohc, and that
774 * may take some time (seconds): */ 774 * may take some time (seconds): */
775 /*wait4pid(spawn(argv));*/ 775 /*spawn_and_wait(argv);*/
776 spawn(argv); 776 spawn(argv);
777 777
778 unsetenv("stratum"); 778 unsetenv("stratum");
diff --git a/networking/udhcp/script.c b/networking/udhcp/script.c
index 574c74f45..a74697c90 100644
--- a/networking/udhcp/script.c
+++ b/networking/udhcp/script.c
@@ -271,7 +271,7 @@ void FAST_FUNC udhcp_run_script(struct dhcp_packet *packet, const char *name)
271 argv[0] = (char*) client_config.script; 271 argv[0] = (char*) client_config.script;
272 argv[1] = (char*) name; 272 argv[1] = (char*) name;
273 argv[2] = NULL; 273 argv[2] = NULL;
274 wait4pid(spawn(argv)); 274 spawn_and_wait(argv);
275 275
276 for (curr = envp; *curr; curr++) { 276 for (curr = envp; *curr; curr++) {
277 log2(" %s", *curr); 277 log2(" %s", *curr);
diff --git a/networking/zcip.c b/networking/zcip.c
index db10d0a26..6b0b1c491 100644
--- a/networking/zcip.c
+++ b/networking/zcip.c
@@ -160,13 +160,13 @@ static int run(char *argv[3], const char *param, struct in_addr *ip)
160 } 160 }
161 bb_info_msg(fmt, argv[2], argv[0], addr); 161 bb_info_msg(fmt, argv[2], argv[0], addr);
162 162
163 status = wait4pid(spawn(argv + 1)); 163 status = spawn_and_wait(argv + 1);
164 if (status < 0) { 164 if (status < 0) {
165 bb_perror_msg("%s %s %s" + 3, argv[2], argv[0]); 165 bb_perror_msg("%s %s %s" + 3, argv[2], argv[0]);
166 return -errno; 166 return -errno;
167 } 167 }
168 if (status != 0) 168 if (status != 0)
169 bb_error_msg("script %s %s failed, exitcode=%d", argv[1], argv[2], status); 169 bb_error_msg("script %s %s failed, exitcode=%d", argv[1], argv[2], status & 0xff);
170 return status; 170 return status;
171} 171}
172 172