]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/sigaction.c
ncurses 5.0
[ncurses.git] / ncurses / base / sigaction.c
similarity index 94%
rename from ncurses/sigaction.c
rename to ncurses/base/sigaction.c
index 405f5913f83af980021126cf80e4ca369edcfc03..ab1e569fae6a8cb5053388306ba3c69c6def47c0 100644 (file)
 
 #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)
@@ -57,7 +58,7 @@ sigemptyset (sigset_t * mask)
 
 int
 sigprocmask (int mode, sigset_t * mask, sigset_t * omask)
-   {
+{
    sigset_t current = sigsetmask(0);
 
    if (omask) *omask = current;
@@ -71,7 +72,7 @@ sigprocmask (int mode, sigset_t * mask, sigset_t * omask)
 
    sigsetmask(current);
    return 0;
-   }
+}
 
 int
 sigsuspend (sigset_t * mask)
@@ -92,6 +93,13 @@ sigaddset (sigset_t * mask, int sig)
   *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 */