Patch by Vasilis Kaoutsis: Implemented sighold().

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22846 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-11-06 22:11:43 +00:00
parent def1a8a91c
commit 0a1968cf8f
3 changed files with 24 additions and 0 deletions
+1
View File
@@ -164,6 +164,7 @@ int sigaddset(sigset_t *set, int signo);
int sigdelset(sigset_t *set, int signo);
int sigismember(const sigset_t *set, int signo);
int sigignore(int signo);
int sighold(int signo);
const char *strsignal(int sig);
+1
View File
@@ -10,6 +10,7 @@ MergeObject posix_signal.o :
set_signal_stack.c
sigaction.c
sigaltstack.c
sighold.cpp
sigignore.cpp
signal.c
sigpending.c
@@ -0,0 +1,22 @@
/*
* Copyright 2007, Vasilis Kaoutsis, [email protected]
* Distributed under the terms of the MIT License.
*/
#include <signal.h>
int
sighold(int signal)
{
// make an empty set
// and add the signal
sigset_t tempSignalSet;
sigemptyset(&tempSignalSet);
if (sigaddset(&tempSignalSet, signal) == -1)
return -1;
// add the signal to the calling process' signal mask
return sigprocmask(SIG_BLOCK, &tempSignalSet, NULL);
}