Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Oct 1996 20:07:06 +0200 (MET DST)
From:      Tor Egge <Tor.Egge@idt.ntnu.no>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/1781: time returns with EXIT_SUCCESS on some failures
Message-ID:  <199610121807.UAA08645@ikke.idt.unit.no>
Resent-Message-ID: <199610121810.LAA16258@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         1781
>Category:       bin
>Synopsis:       time returns with EXIT_SUCCESS on some failures
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 12 11:10:01 PDT 1996
>Last-Modified:
>Originator:     Tor Egge
>Organization:
Norwegian University of Science and Technology, Trondheim, Norway

>Release:        FreeBSD 2.2-CURRENT i386
>Environment:

FreeBSD ikke.idt.unit.no 2.2-CURRENT FreeBSD 2.2-CURRENT #2: Tue Oct  8 19:39:21 MET DST 1996     root@ikke.idt.unit.no:/usr/src/sys/compile/TEGGE  i386

>Description:

	The time command does not check for normal exit of the 
	program being timed when determining what exit code to return.

>How-To-Repeat:

	Make a short program that fails, e.g. 'main() { abort(); }'
	
	run time on that program and check exit status.

>Fix:
Index: time.c
===================================================================
RCS file: /export/akg1/cvs/src/usr.bin/time/time.c,v
retrieving revision 1.3
diff -c -r1.3 time.c
*** time.c	1996/07/30 19:00:12	1.3
--- time.c	1996/10/12 17:59:37
***************
*** 46,51 ****
--- 46,53 ----
  #include <sys/resource.h>
  #include <sys/signal.h>
  #include <sys/sysctl.h>
+ #include <stdlib.h>
+ #include <sys/wait.h>
  
  #include <err.h>
  #include <stdio.h>
***************
*** 149,155 ****
  		fprintf(stderr, "%10ld  %s\n",
  			ru.ru_nivcsw, "involuntary context switches");
  	}
! 	exit (status>>8);
  }
  
  /*
--- 151,157 ----
  		fprintf(stderr, "%10ld  %s\n",
  			ru.ru_nivcsw, "involuntary context switches");
  	}
! 	exit (WIFEXITED(status)?WEXITSTATUS(status):EXIT_FAILURE);
  }
  
  /*
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610121807.UAA08645>