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 /include | |
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 'include')
-rw-r--r-- | include/libbb.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/libbb.h b/include/libbb.h index 044d090..72d6c7d 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -812,21 +812,22 @@ int bb_execvp(const char *file, char *const argv[]) FAST_FUNC; #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd, __VA_ARGS__) #endif -/* NOMMU friendy fork+exec */ +/* NOMMU friendy fork+exec: */ pid_t spawn(char **argv) FAST_FUNC; pid_t xspawn(char **argv) FAST_FUNC; pid_t safe_waitpid(pid_t pid, int *wstat, int options) FAST_FUNC; -/* Unlike waitpid, waits ONLY for one process. +pid_t wait_any_nohang(int *wstat) FAST_FUNC; +/* wait4pid: unlike waitpid, waits ONLY for one process. + * Returns sig + 0x180 if child is killed by signal. * It's safe to pass negative 'pids' from failed [v]fork - * wait4pid will return -1 (and will not clobber [v]fork's errno). * IOW: rc = wait4pid(spawn(argv)); * if (rc < 0) bb_perror_msg("%s", argv[0]); - * if (rc > 0) bb_error_msg("exit code: %d", rc); + * if (rc > 0) bb_error_msg("exit code: %d", rc & 0xff); */ int wait4pid(pid_t pid) FAST_FUNC; -pid_t wait_any_nohang(int *wstat) FAST_FUNC; -/* wait4pid(spawn(argv)) + NOFORK/NOEXEC (if configured) */ +/* Same as wait4pid(spawn(argv)), but with NOFORK/NOEXEC if configured: */ int spawn_and_wait(char **argv) FAST_FUNC; struct nofork_save_area { jmp_buf die_jmp; |