aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-04-01 22:12:44 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-04-01 22:12:44 +0200
commitc4199f22d0f7793b70db51c01783f0d45afce3d4 (patch)
treed54b8df23749d5ea06dc5effd5ba111b8e2cf52f /libbb
parent29b33b63d49be88200f794d832450a4c71e85a5e (diff)
downloadbusybox-w32-c4199f22d0f7793b70db51c01783f0d45afce3d4.tar.gz
busybox-w32-c4199f22d0f7793b70db51c01783f0d45afce3d4.tar.bz2
busybox-w32-c4199f22d0f7793b70db51c01783f0d45afce3d4.zip
libbb: two new functions: wait_for_exitstatus(pid), xfchdir(fd)
Bartosz Golaszewski proposed xfchdir() Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r--libbb/xfuncs.c12
-rw-r--r--libbb/xfuncs_printf.c6
2 files changed, 18 insertions, 0 deletions
diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c
index 206edb4a0..3f9a84ad4 100644
--- a/libbb/xfuncs.c
+++ b/libbb/xfuncs.c
@@ -315,3 +315,15 @@ int FAST_FUNC wait4pid(pid_t pid)
315 return WTERMSIG(status) + 0x180; 315 return WTERMSIG(status) + 0x180;
316 return 0; 316 return 0;
317} 317}
318
319// Useful when we do know that pid is valid, and we just want to wait
320// for it to exit. Not existing pid is fatal. waitpid() status is not returned.
321int FAST_FUNC wait_for_exitstatus(pid_t pid)
322{
323 int exit_status, n;
324
325 n = safe_waitpid(pid, &exit_status, 0);
326 if (n < 0)
327 bb_perror_msg_and_die("waitpid");
328 return exit_status;
329}
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index 73488908d..4aa1b5ce2 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -390,6 +390,12 @@ void FAST_FUNC xchdir(const char *path)
390 bb_perror_msg_and_die("can't change directory to '%s'", path); 390 bb_perror_msg_and_die("can't change directory to '%s'", path);
391} 391}
392 392
393void FAST_FUNC xfchdir(int fd)
394{
395 if (fchdir(fd))
396 bb_perror_msg_and_die("fchdir");
397}
398
393void FAST_FUNC xchroot(const char *path) 399void FAST_FUNC xchroot(const char *path)
394{ 400{
395 if (chroot(path)) 401 if (chroot(path))