diff options
author | Denys Vlasenko | 2010-03-18 22:44:00 +0100 |
---|---|---|
committer | Denys Vlasenko | 2010-03-18 22:44:00 +0100 |
commit | 8531d76a15890c2c535908ce888b2e2aed35b172 (patch) | |
tree | 2035bb9eb9feec14d80487a313729192bb0e875c /networking | |
parent | c5c006c10c060e7f1a97250d039051b93ed390b2 (diff) | |
download | busybox-8531d76a15890c2c535908ce888b2e2aed35b172.zip busybox-8531d76a15890c2c535908ce888b2e2aed35b172.tar.gz |
*: 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.c | 6 | ||||
-rw-r--r-- | networking/ntpd.c | 2 | ||||
-rw-r--r-- | networking/udhcp/script.c | 2 | ||||
-rw-r--r-- | networking/zcip.c | 4 |
4 files changed, 7 insertions, 7 deletions
diff --git a/networking/ifplugd.c b/networking/ifplugd.c index ac6607c..62b1355 100644 --- a/networking/ifplugd.c +++ b/networking/ifplugd.c @@ -132,10 +132,10 @@ static int run_script(const char *action) argv[3] = (char*) G.extra_arg; argv[4] = NULL; - /* r < 0 - can't exec, 0 <= r < 1000 - exited, >1000 - killed by sig (r-1000) */ - r = wait4pid(spawn(argv)); + /* r < 0 - can't exec, 0 <= r < 0x180 - exited, >=0x180 - killed by sig (r-0x180) */ + r = spawn_and_wait(argv); - bb_error_msg("exit code: %d", r); + bb_error_msg("exit code: %d", r & 0xff); return (option_mask32 & FLAG_IGNORE_RETVAL) ? 0 : r; #else /* insanity */ diff --git a/networking/ntpd.c b/networking/ntpd.c index 04df3fa..6d9183a 100644 --- a/networking/ntpd.c +++ b/networking/ntpd.c @@ -772,7 +772,7 @@ static void run_script(const char *action, double offset) /* Don't want to wait: it may run hwclock --systohc, and that * may take some time (seconds): */ - /*wait4pid(spawn(argv));*/ + /*spawn_and_wait(argv);*/ spawn(argv); unsetenv("stratum"); diff --git a/networking/udhcp/script.c b/networking/udhcp/script.c index 574c74f..a74697c 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) argv[0] = (char*) client_config.script; argv[1] = (char*) name; argv[2] = NULL; - wait4pid(spawn(argv)); + spawn_and_wait(argv); for (curr = envp; *curr; curr++) { log2(" %s", *curr); diff --git a/networking/zcip.c b/networking/zcip.c index db10d0a..6b0b1c4 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) } bb_info_msg(fmt, argv[2], argv[0], addr); - status = wait4pid(spawn(argv + 1)); + status = spawn_and_wait(argv + 1); if (status < 0) { bb_perror_msg("%s %s %s" + 3, argv[2], argv[0]); return -errno; } if (status != 0) - bb_error_msg("script %s %s failed, exitcode=%d", argv[1], argv[2], status); + bb_error_msg("script %s %s failed, exitcode=%d", argv[1], argv[2], status & 0xff); return status; } |