summaryrefslogtreecommitdiff
path: root/src/sys/wait/wait3.c
blob: d64c1c286eacd18daafbc78c5d958f08f6a84175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <sys/types.h>
#include <sys/resource.h>
#include <sys/wait.h>

pid_t wait3(int *stat_loc, int options, struct rusage *resource_usage)
{
	pid_t ret = waitpid((pid_t)-1, stat_loc, options);
	if (ret == (pid_t)-1) {
		return (pid_t)-1;
	}

	if (getrusage(RUSAGE_CHILDREN, resource_usage) == -1) {
		return (pid_t)-1;
	}

	return ret;
}

/*
XOPEN(400,600)
*/