#pragma once // Functions for manipulating signal sets #include "compat.h" #if defined _unix_ #include <pthread.h> #elif defined _win_ // Flags for sigprocmask: #define SIG_BLOCK 1 #define SIG_UNBLOCK 2 #define SIG_SETMASK 3 using sigset_t = ui32; #else #error not supported yet #endif inline int SigEmptySet(sigset_t* set) { #if defined _unix_ return sigemptyset(set); #else Y_UNUSED(set); return 0; #endif } inline int SigFillSet(sigset_t* set) { #if defined _unix_ return sigfillset(set); #else Y_UNUSED(set); return 0; #endif } inline int SigAddSet(sigset_t* set, int signo) { #if defined _unix_ return sigaddset(set, signo); #else Y_UNUSED(set); Y_UNUSED(signo); return 0; #endif } inline int SigDelSet(sigset_t* set, int signo) { #if defined _unix_ return sigdelset(set, signo); #else Y_UNUSED(set); Y_UNUSED(signo); return 0; #endif } inline int SigIsMember(const sigset_t* set, int signo) { #if defined _unix_ return sigismember(const_cast<sigset_t*>(set), signo); #else Y_UNUSED(set); Y_UNUSED(signo); return 0; #endif } inline int SigProcMask(int how, const sigset_t* set, sigset_t* oset) { #if defined _unix_ return pthread_sigmask(how, set, oset); #else Y_UNUSED(set); Y_UNUSED(oset); Y_UNUSED(how); return 0; #endif }