From c9ec058657f9f8b3fd39a16f1a9e993b4a1e982e Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Tue, 28 May 2024 15:50:03 -0400 Subject: abstract out "forced" implementations of functions from future specifications --- src/signal/raise.c | 12 ++---------- src/signal/signal.c | 5 +++++ 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'src/signal') 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 #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) -- cgit v1.2.1