summaryrefslogtreecommitdiff
path: root/lib/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/signal.c')
-rw-r--r--lib/signal.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/signal.c b/lib/signal.c
new file mode 100644
index 0000000..343e2cc
--- /dev/null
+++ b/lib/signal.c
@@ -0,0 +1,11 @@
+#include <unistd.h>
+
+void *signal(int sig, void (*func)(int)) {
+ void *__res;
+ __asm__ volatile (
+ "int $0x80"
+ : "=a" (__res)
+ : "a" (__SYS_signal), "b" (sig), "c" (func)
+ :);
+ return __res;
+}