jim         96/05/12 15:30:57

  Modified:    src       http_main.c
  Log:
  Use sigaction if desired; feel free to change the #define
  
  Revision  Changes    Path
  1.26      +16 -4     apache/src/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -C3 -r1.25 -r1.26
  *** http_main.c       1996/05/07 18:29:34     1.25
  --- http_main.c       1996/05/12 22:30:54     1.26
  ***************
  *** 963,975 ****
    }
    
    void set_signals() {
  !     if(!one_process)
  !     {
  !         signal(SIGSEGV,(void (*)())seg_fault);
                signal(SIGBUS,(void (*)())bus_error);
  !     }
        signal(SIGTERM,(void (*)())sig_term);
        signal(SIGHUP,(void (*)())restart);
    }
    
    /*****************************************************************
  --- 963,987 ----
    }
    
    void set_signals() {
  ! #ifndef NO_USE_SIGACTION
  !     struct sigaction sa;
  ! #endif
  !     if(!one_process) {
  !     signal(SIGSEGV,(void (*)())seg_fault);
                signal(SIGBUS,(void (*)())bus_error);
  !     }
  ! #ifdef NO_USE_SIGACTION
        signal(SIGTERM,(void (*)())sig_term);
        signal(SIGHUP,(void (*)())restart);
  + #else
  +     memset(&sa,0,sizeof sa);
  +     sa.sa_handler=(void (*)())sig_term;
  +     if(sigaction(SIGTERM,&sa,NULL) < 0)
  +     log_unixerr("sigaction(SIGTERM)", NULL, NULL, server_conf);
  +     sa.sa_handler=(void (*)())restart;
  +     if(sigaction(SIGHUP,&sa,NULL) < 0)
  +     log_unixerr("sigaction(SIGHUP)", NULL, NULL, server_conf);
  + #endif
    }
    
    /*****************************************************************
  
  
  

Reply via email to