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:
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user