diff options
Diffstat (limited to 'libbb/vfork_daemon_rexec.c')
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 082f0f63e..8102ea2dc 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c | |||
@@ -67,40 +67,6 @@ pid_t FAST_FUNC xspawn(char **argv) | |||
67 | return pid; | 67 | return pid; |
68 | } | 68 | } |
69 | 69 | ||
70 | pid_t FAST_FUNC safe_waitpid(pid_t pid, int *wstat, int options) | ||
71 | { | ||
72 | pid_t r; | ||
73 | |||
74 | do | ||
75 | r = waitpid(pid, wstat, options); | ||
76 | while ((r == -1) && (errno == EINTR)); | ||
77 | return r; | ||
78 | } | ||
79 | |||
80 | pid_t FAST_FUNC wait_any_nohang(int *wstat) | ||
81 | { | ||
82 | return safe_waitpid(-1, wstat, WNOHANG); | ||
83 | } | ||
84 | |||
85 | // Wait for the specified child PID to exit, returning child's error return. | ||
86 | int FAST_FUNC wait4pid(pid_t pid) | ||
87 | { | ||
88 | int status; | ||
89 | |||
90 | if (pid <= 0) { | ||
91 | /*errno = ECHILD; -- wrong. */ | ||
92 | /* we expect errno to be already set from failed [v]fork/exec */ | ||
93 | return -1; | ||
94 | } | ||
95 | if (safe_waitpid(pid, &status, 0) == -1) | ||
96 | return -1; | ||
97 | if (WIFEXITED(status)) | ||
98 | return WEXITSTATUS(status); | ||
99 | if (WIFSIGNALED(status)) | ||
100 | return WTERMSIG(status) + 0x180; | ||
101 | return 0; | ||
102 | } | ||
103 | |||
104 | #if ENABLE_FEATURE_PREFER_APPLETS | 70 | #if ENABLE_FEATURE_PREFER_APPLETS |
105 | void FAST_FUNC save_nofork_data(struct nofork_save_area *save) | 71 | void FAST_FUNC save_nofork_data(struct nofork_save_area *save) |
106 | { | 72 | { |