summaryrefslogtreecommitdiff
path: root/lib/libc/signal/sigwait.c
blob: 61067aebf03ff3f25e3e9e99936fbe9751aaaa8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <signal.h> // for sigtimedwait, siginfo_t, sigset_t, sigwait

int sigwait(const sigset_t *restrict mask, int *restrict sig)
{
	siginfo_t si;

	if (sigtimedwait(mask, &si, 0) < 0) {
		return -1;
	}

	*sig = si.si_signo;

	return 0;
}