summaryrefslogtreecommitdiff
path: root/src/libstddjb/waitn_reap.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2022-04-15 06:30:46 +0000
committerLaurent Bercot <ska@appnovation.com>2022-04-15 06:30:46 +0000
commit7d0199963a2ec019270ee187f8c9cb8adb25dac1 (patch)
treedfee736b516e1e996364a23059d590542196c85c /src/libstddjb/waitn_reap.c
parent7c6ca159eb3cb6e36cbdfd613547d3b0b99e7684 (diff)
downloadskalibs-7d0199963a2ec019270ee187f8c9cb8adb25dac1.tar.xz
Add waitn_posix() and waitn_reap_posix()
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/waitn_reap.c')
-rw-r--r--src/libstddjb/waitn_reap.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/libstddjb/waitn_reap.c b/src/libstddjb/waitn_reap.c
index 9f26b5d..2c4ebe8 100644
--- a/src/libstddjb/waitn_reap.c
+++ b/src/libstddjb/waitn_reap.c
@@ -1,19 +1,11 @@
/* ISC license. */
#include <sys/wait.h>
+
#include <skalibs/djbunix.h>
int waitn_reap (pid_t *pids, unsigned int len)
{
- unsigned int n = 0 ;
- while (len)
- {
- int w ;
- int r = wait_pids_nohang(pids, len, &w) ;
- if (r < 0) return r ;
- else if (!r) break ;
- pids[r-1] = pids[--len] ;
- n++ ;
- }
- return n ;
+ int dummy ;
+ return waitn_reap_posix(pids, len, &dummy) ;
}