/[MITgcm]/MITgcm/eesupp/src/sigreg.c
ViewVC logotype

Diff of /MITgcm/eesupp/src/sigreg.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by edhill, Mon May 22 22:05:18 2006 UTC revision 1.6 by ce107, Tue Jul 31 22:48:34 2007 UTC
# Line 13  Line 13 
13  //EOP  //EOP
14    
15  */  */
16    #ifdef HAVE_SIGREG
17  /*  Here, we get the definition of the FC_NAMEMANGLE() macro. */  /*  Here, we get the definition of the FC_NAMEMANGLE() macro. */
18  #include "FC_NAMEMANGLE.h"  #include "FC_NAMEMANGLE.h"
19    
# Line 25  Line 25 
25  #include <signal.h>  #include <signal.h>
26  #include <errno.h>  #include <errno.h>
27  #include <ucontext.h>  #include <ucontext.h>
 #endif  
28    
29  int * ip;  int * ip;
30    
 #ifdef HAVE_SIGREG  
31  static void killhandler(  static void killhandler(
32      unsigned int sn, siginfo_t  si, struct ucontext *sc )      unsigned int sn, siginfo_t  si, struct ucontext *sc )
33  {  {
# Line 41  static void killhandler( Line 39  static void killhandler(
39  /* int main( int argc, char ** argv ) */  /* int main( int argc, char ** argv ) */
40  void FC_NAMEMANGLE(sigreg) (int * aip)  void FC_NAMEMANGLE(sigreg) (int * aip)
41  {  {
     ip = aip;  
42  #ifdef HAVE_SIGREG  #ifdef HAVE_SIGREG
43      struct sigaction s;      struct sigaction s;
44        ip = aip;
45      s.sa_flags = SA_SIGINFO;      s.sa_flags = SA_SIGINFO;
46      s.sa_sigaction = (void *)killhandler;      s.sa_sigaction = (void *)killhandler;
47      if(sigaction (SIGTERM,&s,(struct sigaction *)NULL)) {      if(sigaction (SIGTERM,&s,(struct sigaction *)NULL)) {
# Line 53  void FC_NAMEMANGLE(sigreg) (int * aip) Line 51  void FC_NAMEMANGLE(sigreg) (int * aip)
51  #endif  #endif
52      return;      return;
53  }  }
54    #endif
55    

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

  ViewVC Help
Powered by ViewVC 1.1.22