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

Diff for /src/usr.bin/timeout/timeout.c between version 1.9 and 1.10

version 1.9, 2021/09/01 20:03:43 version 1.10, 2021/09/01 20:18:54
Line 1 
Line 1 
 /* $NetBSD: timeout.c,v 1.4 2014/08/05 08:20:02 christos Exp $ */  /* $OpenBSD$ */
   
 /*-  /*-
    * Copyright (c) 2021 Job Snijders <job@openbsd.org>
  * Copyright (c) 2014 Baptiste Daroussin <bapt@FreeBSD.org>   * Copyright (c) 2014 Baptiste Daroussin <bapt@FreeBSD.org>
  * Copyright (c) 2014 Vsevolod Stakhov <vsevolod@FreeBSD.org>   * Copyright (c) 2014 Vsevolod Stakhov <vsevolod@FreeBSD.org>
  * All rights reserved.   * All rights reserved.
Line 155 
Line 156 
         tim.it_value.tv_usec = (suseconds_t)(iv * 1000000UL);          tim.it_value.tv_usec = (suseconds_t)(iv * 1000000UL);
   
         if (setitimer(ITIMER_REAL, &tim, NULL) == -1)          if (setitimer(ITIMER_REAL, &tim, NULL) == -1)
                 err(1, "setitimer()");                  err(1, "setitimer");
 }  }
   
 int  int
Line 218 
Line 219 
                 pgid = setpgid(0, 0);                  pgid = setpgid(0, 0);
   
                 if (pgid == -1)                  if (pgid == -1)
                         err(1, "setpgid()");                          err(1, "setpgid");
         }          }
   
         memset(&signals, 0, sizeof(signals));          memset(&signals, 0, sizeof(signals));
Line 236 
Line 237 
         for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) {          for (i = 0; i < sizeof(signums) / sizeof(signums[0]); i++) {
                 if (signums[i] != -1 && signums[i] != 0 &&                  if (signums[i] != -1 && signums[i] != 0 &&
                     sigaction(signums[i], &signals, NULL) == -1)                      sigaction(signums[i], &signals, NULL) == -1)
                         err(1, "sigaction()");                          err(1, "sigaction");
         }          }
   
         signal(SIGTTIN, SIG_IGN);          signal(SIGTTIN, SIG_IGN);
Line 244 
Line 245 
   
         pid = fork();          pid = fork();
         if (pid == -1)          if (pid == -1)
                 err(1, "fork()");                  err(1, "fork");
         else if (pid == 0) {          else if (pid == 0) {
                 /* child process */                  /* child process */
                 signal(SIGTTIN, SIG_DFL);                  signal(SIGTTIN, SIG_DFL);
Line 252 
Line 253 
   
                 error = execvp(argv[0], argv);                  error = execvp(argv[0], argv);
                 if (error == -1)                  if (error == -1)
                         err(1, "exec()");                          err(1, "execvp");
         }          }
   
         if (pledge("stdio", NULL) == -1)          if (pledge("stdio", NULL) == -1)
                 err(1, "pledge");                  err(1, "pledge");
   
         if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1)          if (sigprocmask(SIG_BLOCK, &signals.sa_mask, NULL) == -1)
                 err(1, "sigprocmask()");                  err(1, "sigprocmask");
   
         /* parent continues here */          /* parent continues here */
         set_interval(first_kill);          set_interval(first_kill);
Line 312 
Line 313 
   
         while (cpid != pid && wait(&pstat) == -1) {          while (cpid != pid && wait(&pstat) == -1) {
                 if (errno != EINTR)                  if (errno != EINTR)
                         err(1, "waitpid()");                          err(1, "wait");
         }          }
   
         if (WEXITSTATUS(pstat))          if (WEXITSTATUS(pstat))

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10