=================================================================== RCS file: /home/cvs/OpenXM/src/util/mysig.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM/src/util/mysig.c 2016/03/31 05:27:33 1.1 +++ OpenXM/src/util/mysig.c 2016/09/26 11:43:38 1.3 @@ -1,4 +1,4 @@ -/* $OpenXM$ +/* $OpenXM: OpenXM/src/util/mysig.c,v 1.2 2016/04/01 18:54:21 ohara Exp $ */ #include #include @@ -33,6 +33,10 @@ int block_signal(int sigset[]) { return(0); } +#if !defined(SA_RESTART) && defined(__FreeBSD__) +#define SA_RESTART 0x0002 +#endif + int set_signal(int sig,void (*handler)(int m)) { struct sigaction act; struct sigaction oldact; @@ -60,11 +64,8 @@ void *mysignal(int sig,void (*handler)(int m)) { } /* on unix system, you may simply call signal(3) here. */ 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); return((void *)Old_handler); } - - -