#include <curses.priv.h>
+#include <signal.h>
+#include <SigAction.h>
+
/* This file provides sigaction() emulation using sigvec() */
/* Use only if this is non POSIX system */
-#if !HAVE_SIGACTION
-#include <signal.h>
-#include <SigAction.h>
+#if !HAVE_SIGACTION && HAVE_SIGVEC
-MODULE_ID("$Id: sigaction.c,v 1.7 1998/02/11 12:13:53 tom Exp $")
+MODULE_ID("$Id: sigaction.c,v 1.9 1999/06/19 23:05:16 tom Exp $")
int
sigaction (int sig, sigaction_t * sigact, sigaction_t * osigact)
int
sigprocmask (int mode, sigset_t * mask, sigset_t * omask)
- {
+{
sigset_t current = sigsetmask(0);
if (omask) *omask = current;
sigsetmask(current);
return 0;
- }
+}
int
sigsuspend (sigset_t * mask)
*mask |= sigmask (sig);
return 0;
}
+
+int
+sigismember (sigset_t * mask, int sig)
+{
+ return (*mask & sigmask (sig)) != 0;
+}
+
#else
extern void _nc_sigaction(void); /* quiet's gcc warning */
void _nc_sigaction(void) { } /* nonempty for strict ANSI compilers */