OrionLibC
Barry Importing existing Orion LibC 03048a9 (2 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; +}