[BACK]Return to mysig.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / util

Diff for /OpenXM/src/util/mysig.c between version 1.1 and 1.3

version 1.1, 2016/03/31 05:27:33 version 1.3, 2016/09/26 11:43:38
Line 1 
Line 1 
 /* $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);
 }  }
   
   
   
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>