summaryrefslogtreecommitdiff
path: root/ghc/lib/posix/cbits/signal.c
diff options
context:
space:
mode:
authorsimonm <unknown>1998-12-02 13:32:30 +0000
committersimonm <unknown>1998-12-02 13:32:30 +0000
commit438596897ebbe25a07e1c82085cfbc5bdb00f09e (patch)
treeda7a441396aed2e13f6e0cc55282bf041b0cf72c /ghc/lib/posix/cbits/signal.c
parent967cc47f37cb93a5e2b6df7822c9a646f0428247 (diff)
downloadhaskell-438596897ebbe25a07e1c82085cfbc5bdb00f09e.tar.gz
[project @ 1998-12-02 13:17:09 by simonm]
Move 4.01 onto the main trunk.
Diffstat (limited to 'ghc/lib/posix/cbits/signal.c')
-rw-r--r--ghc/lib/posix/cbits/signal.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/ghc/lib/posix/cbits/signal.c b/ghc/lib/posix/cbits/signal.c
new file mode 100644
index 0000000000..9811306a79
--- /dev/null
+++ b/ghc/lib/posix/cbits/signal.c
@@ -0,0 +1,27 @@
+/*
+ * (c) Juan Quintela, Universidade da Corunha 1998
+ *
+ * wrappers for signal funcions
+ *
+ * sigset_t is a struct in some UNIXes (LINUX/glibc for instance)
+ * and it is not posible to do the inline (_casm_). These functions
+ * aren't inline because it causes gcc to run out of registers on x86.
+ *
+ */
+
+#include "Rts.h"
+#include "libposix.h"
+
+void
+stg_sigaddset(sigset_t *newset, sigset_t *oldset, int signum)
+{
+ *newset = *oldset;
+ sigaddset(newset, signum);
+}
+
+void
+stg_sigdelset(sigset_t *newset, sigset_t *oldset, int signum)
+{
+ *newset = *oldset;
+ sigdelset(newset, signum);
+}