ucspi-ssl  0.99e
TLS encryption for IPv6 communication
sig_block.c
Go to the documentation of this file.
1 /* Public domain. */
2 
3 #include <signal.h>
4 #include "sig.h"
5 #include "hassgprm.h"
6 
7 void sig_block(int sig)
8 {
9 #ifdef HASSIGPROCMASK
10  sigset_t ss;
11  sigemptyset(&ss);
12  sigaddset(&ss,sig);
13  sigprocmask(SIG_BLOCK,&ss,(sigset_t *) 0);
14 #else
15  sigblock(1 << (sig - 1));
16 #endif
17 }
18 
19 void sig_unblock(int sig)
20 {
21 #ifdef HASSIGPROCMASK
22  sigset_t ss;
23  sigemptyset(&ss);
24  sigaddset(&ss,sig);
25  sigprocmask(SIG_UNBLOCK,&ss,(sigset_t *) 0);
26 #else
27  sigsetmask(sigsetmask(~0) & ~(1 << (sig - 1)));
28 #endif
29 }
30 
31 void sig_blocknone(void)
32 {
33 #ifdef HASSIGPROCMASK
34  sigset_t ss;
35  sigemptyset(&ss);
36  sigprocmask(SIG_SETMASK,&ss,(sigset_t *) 0);
37 #else
38  sigsetmask(0);
39 #endif
40 }
void sig_block(int sig)
Definition: sig_block.c:7
void sig_unblock(int sig)
Definition: sig_block.c:19
void sig_blocknone(void)
Definition: sig_block.c:31