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

Diff for /src/usr.bin/make/job.c between version 1.126 and 1.127

version 1.126, 2012/10/02 10:29:30 version 1.127, 2012/10/04 13:20:46
Line 158 
Line 158 
 static void notice_signal(int);  static void notice_signal(int);
 static void setup_all_signals(void);  static void setup_all_signals(void);
 static void setup_job_control_interrupts(void);  static void setup_job_control_interrupts(void);
   static void killcheck(pid_t, int);
   
   static void
   killcheck(pid_t pid, int signo)
   {
           if (kill(pid, signo) == 0)
                   return;
           if (errno == ESRCH) {
                   fprintf(stderr,
                       "Can't send signal %d to %ld: pid not found\n",
                       signo, (long)pid);
           } else if (errno == EPERM) {
                   fprintf(stderr,
                       "Can't send signal %d to %ld: not permitted\n",
                       signo, (long)pid);
           }
   }
   
 static void  static void
 print_error(Job *j, Job *k)  print_error(Job *j, Job *k)
 {  {
Line 292 
Line 309 
         /* Have to see SIGCHLD */          /* Have to see SIGCHLD */
         setup_signal(SIGCHLD);          setup_signal(SIGCHLD);
         got_fatal = 0;          got_fatal = 0;
         setup_job_control_interrupts();  
         setup_signal(SIGWINCH);  
         setup_signal(SIGCONT);  
         got_other = 0;          got_other = 0;
 }  }
   
Line 785 
Line 799 
                 debug_job_printf("pass_job_control_signal to "                  debug_job_printf("pass_job_control_signal to "
                     "child %ld running %s.\n", (long)job->pid,                      "child %ld running %s.\n", (long)job->pid,
                     job->node->name);                      job->node->name);
                 killpg(job->pid, signo);                  killcheck(job->pid, signo);
         }          }
         /* after forwarding the signal, those should interrupt us */          /* after forwarding the signal, those should interrupt us */
         if (signo == SIGTSTP || signo == SIGTTOU || signo == SIGTTIN) {          if (signo == SIGTSTP || signo == SIGTTOU || signo == SIGTTIN) {
Line 828 
Line 842 
                 debug_job_printf("handle_fatal_signal: passing to "                  debug_job_printf("handle_fatal_signal: passing to "
                     "child %ld running %s.\n", (long)job->pid,                      "child %ld running %s.\n", (long)job->pid,
                     job->node->name);                      job->node->name);
                 killpg(job->pid, signo);                  killcheck(job->pid, signo);
         }          }
   
         if (signo == SIGINT && !touchFlag) {          if (signo == SIGINT && !touchFlag) {

Legend:
Removed from v.1.126  
changed lines
  Added in v.1.127