diff options
Diffstat (limited to 'src/wait.c')
-rw-r--r-- | src/wait.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/wait.c b/src/wait.c new file mode 100644 index 0000000..4043a4f --- /dev/null +++ b/src/wait.c @@ -0,0 +1,25 @@ +#include <sys/types.h> +#include <sys/wait.h> +#include "logmsg.h" + +/** + * @file wait.c + * @author djb + * @ref qmail + * @brief wait for forked processes + */ + +int wait_nohang(int *wstat) +{ + return waitpid(-1,wstat,WNOHANG); +} + +int wait_pid(int *wstat,int pid) +{ + int r; + + do + r = waitpid(pid,wstat,0); + while ((r == -1) && (errno == EINTR)); + return r; +} |