[BACK]Return to sort.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / sort

Diff for /src/usr.bin/sort/sort.c between version 1.48 and 1.49

version 1.48, 2015/03/20 23:04:07 version 1.49, 2015/03/30 22:20:18
Line 382 
Line 382 
  * Signal handler that clears the temporary files.   * Signal handler that clears the temporary files.
  */   */
 static void  static void
 sig_handler(int sig __unused, siginfo_t *siginfo __unused,  sig_handler(int sig __unused)
     void *context __unused)  
 {  {
   
         clear_tmp_files();          clear_tmp_files();
Line 397 
Line 396 
 set_signal_handler(void)  set_signal_handler(void)
 {  {
         struct sigaction sa;          struct sigaction sa;
           int i, signals[] = {SIGTERM, SIGHUP, SIGINT, SIGQUIT, SIGUSR1, SIGUSR2,
               SIGPIPE, SIGXCPU, SIGXFSZ, SIGVTALRM, SIGPROF, 0};
   
         memset(&sa, 0, sizeof(sa));          memset(&sa, 0, sizeof(sa));
         sa.sa_sigaction = &sig_handler;          sigfillset(&sa.sa_mask);
         sa.sa_flags = SA_SIGINFO;          sa.sa_flags = SA_RESTART;
           sa.sa_handler = sig_handler;
   
         if (sigaction(SIGTERM, &sa, NULL) < 0) {          for (i = 0; signals[i] != 0; i++) {
                 warn("sigaction(SIGTERM)");                  if (sigaction(signals[i], &sa, NULL) < 0) {
                 return;                          warn("sigaction(%d)", i);
         }                          continue;
         if (sigaction(SIGHUP, &sa, NULL) < 0) {                  }
                 warn("sigaction(SIGHUP)");  
                 return;  
         }  
         if (sigaction(SIGINT, &sa, NULL) < 0) {  
                 warn("sigaction(SIGINT)");  
                 return;  
         }  
         if (sigaction(SIGQUIT, &sa, NULL) < 0) {  
                 warn("sigaction(SIGQUIT)");  
                 return;  
         }  
         if (sigaction(SIGABRT, &sa, NULL) < 0) {  
                 warn("sigaction(SIGABRT)");  
                 return;  
         }  
         if (sigaction(SIGBUS, &sa, NULL) < 0) {  
                 warn("sigaction(SIGBUS)");  
                 return;  
         }  
         if (sigaction(SIGSEGV, &sa, NULL) < 0) {  
                 warn("sigaction(SIGSEGV)");  
                 return;  
         }  
         if (sigaction(SIGUSR1, &sa, NULL) < 0) {  
                 warn("sigaction(SIGUSR1)");  
                 return;  
         }  
         if (sigaction(SIGUSR2, &sa, NULL) < 0) {  
                 warn("sigaction(SIGUSR2)");  
                 return;  
         }          }
 }  }
   

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.49