diff options
Diffstat (limited to 'src/signal')
| -rw-r--r-- | src/signal/raise.c | 12 | ||||
| -rw-r--r-- | src/signal/signal.c | 5 |
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) |
