Commit Graph

40 Commits

Author SHA1 Message Date
Alan Somers
8a9ab04279 time(1): use the monotonic clock
The monotonic clock is more appropriate than the realtime clock for
measuring durations.

Reviewed by:	ken, jilles
Differential Revision:	https://reviews.freebsd.org/D14032
2018-05-04 14:39:32 +00:00
Alan Somers
cb938d95e2 time(1): use clock_gettime(2) instead of gettimeofday(2)
This is a prerequisite to adding support for the monotonic clock

Reviewed by:	ken, imp
MFC after:	3 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D14030
2018-01-24 17:12:34 +00:00
Pedro F. Giffuni
8a16b7a18f General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:49:47 +00:00
Warner Losh
fbbd9655e5 Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by:	Jan Schaumann <jschauma@stevens.edu>
Pull Request:	https://github.com/freebsd/freebsd/pull/96
2017-02-28 23:42:47 +00:00
John-Mark Gurney
e48a49b333 Don't do things we aren't allowed to do in a signal handler... Defer
the work to the main thread...  This fixes a possible crash if SIGINFO
is delivered at the wrong time...

This still leaves getrusage broken for some reason, but I believe that
is a kernel issue and cannot be fixed here...
2015-05-18 19:18:42 +00:00
Jilles Tjoelker
689f0bd93b time: Use close-on-exec instead of fclose() in the child process. 2012-12-08 17:41:39 +00:00
Ed Schouten
902d9eafbf Rework all non-contributed files that use `struct timezone'.
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:

	int gettimeofday(struct timeval *restrict tp, void *restrict tzp);

Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.

While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
2012-09-01 14:45:15 +00:00
Joel Dahl
da52b4caaf Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with:	imp, rwatson
2010-12-11 08:32:16 +00:00
Xin LI
821df508e8 Revert most part of 200420 as requested, as more review and polish is
needed.
2009-12-13 03:14:06 +00:00
Xin LI
6f2d322192 Remove unneeded header includes from usr.bin/ except contributed code.
Tested with:	make universe
2009-12-11 23:35:38 +00:00
David Malone
61d8eede29 Cast to intmax_t to print tv_sec in struct timeval.
Avoid shadowing a global variable with a function argument.
Set WARNS to 6.
2007-05-07 12:23:23 +00:00
Pawel Jakub Dawidek
b6d7073d13 Handle SIGINFO in time(1) by printing the time the given command is running.
I find it quite handy to just hit ^T and see the time.
2006-05-14 13:16:19 +00:00
Maxim Konovalov
beb66b02a4 o Close an output file -o flag opened before execvp(3) in a child.
PR:		bin/89666
Submitted by:	Arne H Juul
MFC after:	1 month
2006-04-16 17:44:49 +00:00
Ruslan Ermilov
f682f10c76 Sync program's usage() with manpage's SYNOPSIS. 2005-05-21 09:55:10 +00:00
Sean Chittenden
77879b47b7 Uses wait4() instead of wait3() when waiting for a child process to exit.
Reviewed by:	yar
2003-10-17 07:53:30 +00:00
Yaroslav Tykhiy
69df5b5a0b Assorted minor fixes, mostly style(9):
- PID should be pid_t, not int;
- sort #include's and local variables;
- don't overuse initializers;
- use warn(3) instead of perror(3) consistently;
- amplify the comment on signals.
2003-10-04 15:17:08 +00:00
Yaroslav Tykhiy
1530954057 Don't dump core from the time(1) process itself
if the child process has exited on a signal
whose default action is to dump core.
2003-10-04 14:42:03 +00:00
David Malone
f4ac32def2 ANSIify function definitions.
Add some constness to avoid some warnings.
Remove use register keyword.
Deal with missing/unneeded extern/prototypes.
Some minor type changes/casts to avoid warnings.

Reviewed by:	md5
2002-09-04 23:29:10 +00:00
Tim J. Robbins
3f6c6c912f Make it obvious that command line arguments may be specified for the utility
that is to be invoked on the command line. Use "utility" instead of "command"
in manual page and usage message for consistency with POSIX.
2002-06-20 07:07:00 +00:00
Tim J. Robbins
d6c762af40 Determine exit status to use before writing diagnostic message; warn()
may change errno.
2002-05-25 03:32:23 +00:00
Warner Losh
3f330d7d1a remove __P 2002-03-22 01:42:45 +00:00
David Malone
0050672a16 Fix one warning - still not warns clean. 2001-12-03 21:32:01 +00:00
Andrey A. Chernov
e1fc0c16f0 Localize it (LC_NUMERIC) 2001-02-10 22:46:47 +00:00
David E. O'Brien
a07101ab73 Remove vestages of a previous implimentation of "-h".
Submitted by:	Tony Finch <dot@dotat.at>
2000-10-31 02:26:10 +00:00
David E. O'Brien
ea257bd554 Add a new "-h" Human-friendly h/m/s output format.
Reviewed by:	bde
2000-10-28 21:48:53 +00:00
Warner Losh
62f882d620 getopt and friends are declared in <unistd.h>
getopt returns -1 not EOF.
2000-09-04 06:09:54 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Ollivier Robert
844338c286 Adds the '-p' option to make time(1) output POSIX.2 compliant.
Updates the manpage as well.

I've rewritten the patch as it was for 2.2.7. It can probably be put
into 3.1-STABLE as well.

PR:		bin/10515
Submitted by:	Jens Schweikhardt <schweikh@noc.dfn.de>
1999-03-10 17:22:12 +00:00
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Martin Cracauer
9a4902a99f When exiting on SIGINT, exit with signal status 1998-08-24 10:17:20 +00:00
Dag-Erling Smørgrav
9b81ca853e Brucifixion. 1998-07-28 10:08:16 +00:00
Dag-Erling Smørgrav
28f5cafe82 Behave like GNU time. More cleanup. Reword man page.
Pointed out by:	Bruce Evans
1998-07-27 16:54:05 +00:00
Dag-Erling Smørgrav
fabfd1334a Clean up the previous commit. 1998-07-27 16:08:58 +00:00
Poul-Henning Kamp
03a2224899 By default, /usr/bin/time writes its output to stderr. Two options
have been added to time(1) to write output to an alternative destination.
Option "-f filename" will write to filename, and filename can be - to
write to stdout.  Option "-a filename" will append the output to filename.
Time(1) man page has been updated to reflect the change.

PR:		7368
Submitted by:	Steven G. Kargl <kargl@troutmask.apl.washington.edu>
1998-07-24 07:19:29 +00:00
Philippe Charnier
80c486a414 Add usage() and use err(3). 1997-08-14 06:48:59 +00:00
Warner Losh
1c8af87873 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
Jordan K. Hubbard
bc2c47df4b Close PR#1781 - time returns with EXIT_SUCCESS on some failures
Submitted-By: Tor Egge <Tor.Egge@idt.ntnu.no>
1996-10-12 18:41:26 +00:00
John Polstra
f0850246bb Fix a bug under time's "-l" option. The values reported for average
shared memory size, average unshared data size, and average unshared
stack size were too high by a factor of 128/100, because the program
used a hard-coded hz value of 100.  The correct value is the frequency
of the statistics clock, currently 128.  The program now uses sysctl
to get the stathz value from the kernel.

Discussed with:	bde@freebsd.org (Bruce Evans)
1996-07-30 19:00:12 +00:00
Paul Traina
9e5fd22b08 Close out PR#723: time -l dumps core 1995-10-28 16:05:32 +00:00
Rodney W. Grimes
9b50d90275 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00