OrionLibC
Barry Importing existing Orion LibC 03048a9 (3 years, 2 months ago)
diff --git a/signal/kill.c b/signal/kill.c
new file mode 100644
index 0000000..34dc776
--- /dev/null
+++ b/signal/kill.c
@@ -0,0 +1,16 @@
+#include <sys/syscall.h>
+#include <sys/types.h>
+#include <errno.h>
+
+/* Send a signal to a process */
+int
+kill(pid_t pid, int sig)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_KILL),
+ "c" (2), "S" (&pid));
+ if (ret >= 0)
+ return ret;
+ errno = -ret;
+ return -1;
+}
diff --git a/signal/tgkill.c b/signal/tgkill.c
new file mode 100644
index 0000000..760795b
--- /dev/null
+++ b/signal/tgkill.c
@@ -0,0 +1,16 @@
+#include <sys/syscall.h>
+#include <sys/types.h>
+#include <errno.h>
+
+/* Send a signal to a thread */
+int
+tgkill(pid_t tgid, pid_t tid, int sig)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_TGKILL),
+ "c" (3), "S" (&tgid));
+ if (ret >= 0)
+ return ret;
+ errno = -ret;
+ return -1;
+}