version 1.1, 2016/03/31 05:27:33 |
version 1.3, 2016/09/26 11:43:38 |
|
|
/* $OpenXM$ |
/* $OpenXM: OpenXM/src/util/mysig.c,v 1.2 2016/04/01 18:54:21 ohara Exp $ |
*/ |
*/ |
#include <stdio.h> |
#include <stdio.h> |
#include <signal.h> |
#include <signal.h> |
Line 33 int block_signal(int sigset[]) { |
|
Line 33 int block_signal(int sigset[]) { |
|
return(0); |
return(0); |
} |
} |
|
|
|
#if !defined(SA_RESTART) && defined(__FreeBSD__) |
|
#define SA_RESTART 0x0002 |
|
#endif |
|
|
int set_signal(int sig,void (*handler)(int m)) { |
int set_signal(int sig,void (*handler)(int m)) { |
struct sigaction act; |
struct sigaction act; |
struct sigaction oldact; |
struct sigaction oldact; |
Line 60 void *mysignal(int sig,void (*handler)(int m)) { |
|
Line 64 void *mysignal(int sig,void (*handler)(int m)) { |
|
} |
} |
/* on unix system, you may simply call signal(3) here. */ |
/* on unix system, you may simply call signal(3) here. */ |
set_signal(sig,handler); |
set_signal(sig,handler); |
/* unblock is necessary on cygwin, ... */ |
/* unblock is necessary on cygwin, ..., cf. misc-2015/12/misc */ |
sigset[0] = sig; sigset[1]=0; unblock_signal(sigset); |
sigset[0] = sig; sigset[1]=0; unblock_signal(sigset); |
return((void *)Old_handler); |
return((void *)Old_handler); |
} |
} |
|
|
|
|
|
|
|
|