[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / lib / posix / cbits / signal.c
diff --git a/ghc/lib/posix/cbits/signal.c b/ghc/lib/posix/cbits/signal.c
new file mode 100644 (file)
index 0000000..9811306
--- /dev/null
@@ -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);
+}