summaryrefslogblamecommitdiff
path: root/src/signal/sigorset.c
blob: eb5feab465fe5e5c08304520e217979985ced4c1 (plain) (tree)
1
2
3
4
5



                   
                          











                                                                                      
#define _GNU_SOURCE
#include <signal.h>
#include <errno.h>

#define SST_SIZE (_NSIG/8)

int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right)
{
	if(!dest || !left || !right) {
		errno = EINVAL;
		return -1;
	}
	unsigned long i = 0, *d = (void*) dest, *l = (void*) left, *r = (void*) right;
	for(; i < SST_SIZE; i++) d[i] = l[i] | r[i];
	return 0;
}