diff options
Diffstat (limited to 'ucspi-tcp-0.88/sig_catch.c')
-rw-r--r-- | ucspi-tcp-0.88/sig_catch.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ucspi-tcp-0.88/sig_catch.c b/ucspi-tcp-0.88/sig_catch.c new file mode 100644 index 0000000..bdb2bfb --- /dev/null +++ b/ucspi-tcp-0.88/sig_catch.c @@ -0,0 +1,16 @@ +#include <signal.h> +#include "sig.h" +#include "hassgact.h" + +void sig_catch(int sig,void (*f)()) +{ +#ifdef HASSIGACTION + struct sigaction sa; + sa.sa_handler = f; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sigaction(sig,&sa,(struct sigaction *) 0); +#else + signal(sig,f); /* won't work under System V, even nowadays---dorks */ +#endif +} |