diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2016-04-02 18:06:24 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2016-04-02 18:06:24 +0200 |
commit | 8220399173cf8d25e37059cadac96ac30f94e82a (patch) | |
tree | ffe5ae4a783c8ddeceda15f57eae74ee69feebea /include | |
parent | c87e81f9440278dd46a3eddd1e0f4773afd46a95 (diff) | |
download | busybox-w32-8220399173cf8d25e37059cadac96ac30f94e82a.tar.gz busybox-w32-8220399173cf8d25e37059cadac96ac30f94e82a.tar.bz2 busybox-w32-8220399173cf8d25e37059cadac96ac30f94e82a.zip |
nsenter,unshare: share common code; fix a bug of not closing all fds
function old new delta
xvfork_parent_waits_and_exits - 64 +64
exec_prog_or_SHELL - 39 +39
unshare_main 873 810 -63
nsenter_main 663 596 -67
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 106/-130) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/libbb.h b/include/libbb.h index 5b4280e34..64e61cd26 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -992,9 +992,10 @@ int BB_EXECVP(const char *file, char *const argv[]) FAST_FUNC; | |||
992 | #define BB_EXECVP(prog,cmd) execvp(prog,cmd) | 992 | #define BB_EXECVP(prog,cmd) execvp(prog,cmd) |
993 | #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd,__VA_ARGS__) | 993 | #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd,__VA_ARGS__) |
994 | #endif | 994 | #endif |
995 | int BB_EXECVP_or_die(char **argv) NORETURN FAST_FUNC; | 995 | void BB_EXECVP_or_die(char **argv) NORETURN FAST_FUNC; |
996 | void exec_prog_or_SHELL(char **argv) NORETURN FAST_FUNC; | ||
996 | 997 | ||
997 | /* xvfork() can't be a _function_, return after vfork mangles stack | 998 | /* xvfork() can't be a _function_, return after vfork in child mangles stack |
998 | * in the parent. It must be a macro. */ | 999 | * in the parent. It must be a macro. */ |
999 | #define xvfork() \ | 1000 | #define xvfork() \ |
1000 | ({ \ | 1001 | ({ \ |
@@ -1006,6 +1007,7 @@ int BB_EXECVP_or_die(char **argv) NORETURN FAST_FUNC; | |||
1006 | #if BB_MMU | 1007 | #if BB_MMU |
1007 | pid_t xfork(void) FAST_FUNC; | 1008 | pid_t xfork(void) FAST_FUNC; |
1008 | #endif | 1009 | #endif |
1010 | void xvfork_parent_waits_and_exits(void) FAST_FUNC; | ||
1009 | 1011 | ||
1010 | /* NOMMU friendy fork+exec: */ | 1012 | /* NOMMU friendy fork+exec: */ |
1011 | pid_t spawn(char **argv) FAST_FUNC; | 1013 | pid_t spawn(char **argv) FAST_FUNC; |