summaryrefslogtreecommitdiff
path: root/src/signal
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal')
-rw-r--r--src/signal/raise.c12
-rw-r--r--src/signal/signal.c5
2 files changed, 7 insertions, 10 deletions
diff --git a/src/signal/raise.c b/src/signal/raise.c
index 7d40b9c8..0547e4a1 100644
--- a/src/signal/raise.c
+++ b/src/signal/raise.c
@@ -1,16 +1,8 @@
-#ifndef _POSIX_SOURCE
-#define _POSIX_SOURCE
-#define POSIX_FORCED
-#endif
-
#include <signal.h>
#include "stdlib/_stdlib.h"
-#ifdef POSIX_FORCED
-#include "_syscall.h"
-#define kill(pid, sig) __scall2(kill, pid, sig)
-#define getpid() __scall0(getpid)
-#endif
+#include "_forced/kill.h"
+#include "_forced/getpid.h"
#include "_safety.h"
diff --git a/src/signal/signal.c b/src/signal/signal.c
index 4bd74744..f55e2e57 100644
--- a/src/signal/signal.c
+++ b/src/signal/signal.c
@@ -5,6 +5,10 @@
/** set a signal handler **/
+#if 0
+#include "_forced/sigaction.h"
+
+#else
/* TODO: remove this very Linux-specific crap */
typedef struct __siginfo siginfo_t;
struct linux_sigaction {
@@ -16,6 +20,7 @@
#define sigaction(_sig, _act, _oact, _size) __scall4(sigaction, _sig, _act, _oact, _size)
#define SA_RESTART 0x10000000
#define SA_RESTORER 0x04000000
+#endif
__attribute__((noinline, target("no-sse")))
void (*signal(int sig, void (*func)(int)))(int)