xref: /haiku/src/system/libroot/posix/signal/sighold.cpp (revision 1e60bdeab63fa7a57bc9a55b032052e95a18bd2c)
1 /*
2  * Copyright 2007, Vasilis Kaoutsis, kaoutsis@sch.gr
3  * Distributed under the terms of the MIT License.
4  */
5 
6 
7 #include <signal.h>
8 
9 #include <symbol_versioning.h>
10 
11 #include <signal_private.h>
12 
13 
14 int
15 __sighold_beos(int signal)
16 {
17 	// make an empty set and add the signal
18 	sigset_t_beos tempSignalSet = 0;
19 	if (__sigaddset_beos(&tempSignalSet, signal) == -1)
20 		return -1;
21 
22 	// add the signal to the calling process' signal mask
23 	return __pthread_sigmask_beos(SIG_BLOCK, &tempSignalSet, NULL);
24 }
25 
26 
27 int
28 __sighold(int signal)
29 {
30 	// make an empty set and add the signal
31 	sigset_t tempSignalSet = 0;
32 	if (sigaddset(&tempSignalSet, signal) == -1)
33 		return -1;
34 
35 	// add the signal to the calling process' signal mask
36 	return sigprocmask(SIG_BLOCK, &tempSignalSet, NULL);
37 }
38 
39 
40 DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION("__sighold_beos", "sighold@", "BASE");
41 
42 DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION("__sighold", "sighold@@", "1_ALPHA4");
43