From 6bd2f399e8322230a6851e9908d8088d6cada447 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 24 Oct 2007 13:49:42 +0000 Subject: [PATCH] Patch by Vasilis Kaoutsis: Implemented killpg(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22697 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/posix/signal.h | 1 + src/system/libroot/posix/signal/Jamfile | 1 + src/system/libroot/posix/signal/killpg.cpp | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 src/system/libroot/posix/signal/killpg.cpp diff --git a/headers/posix/signal.h b/headers/posix/signal.h index 6fea23f70d..555409ad01 100644 --- a/headers/posix/signal.h +++ b/headers/posix/signal.h @@ -150,6 +150,7 @@ sighandler_t signal(int sig, sighandler_t signalHandler); int raise(int sig); int kill(pid_t pid, int sig); int send_signal(pid_t tid, unsigned int sig); +int killpg(pid_t processGroupID, int sig); int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); int sigprocmask(int how, const sigset_t *set, sigset_t *oset); diff --git a/src/system/libroot/posix/signal/Jamfile b/src/system/libroot/posix/signal/Jamfile index 893d92a08b..f3fffb2ee3 100644 --- a/src/system/libroot/posix/signal/Jamfile +++ b/src/system/libroot/posix/signal/Jamfile @@ -4,6 +4,7 @@ UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; MergeObject posix_signal.o : kill.c + killpg.cpp raise.c send_signal.c set_signal_stack.c diff --git a/src/system/libroot/posix/signal/killpg.cpp b/src/system/libroot/posix/signal/killpg.cpp new file mode 100644 index 0000000000..ef00d7239f --- /dev/null +++ b/src/system/libroot/posix/signal/killpg.cpp @@ -0,0 +1,20 @@ +/* + * Copyright 2007, Vasilis Kaoutsis, kaoutsis@sch.gr. + * Distributed under the terms of the MIT License. + */ + + +#include +#include + + +int +killpg(pid_t processGroupID, int signal) +{ + if (processGroupID > 1) + return kill(-processGroupID, signal); + else { + errno = EINVAL; + return -1; + } +}