diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2005-02-26 08:18:27 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2005-02-26 08:18:27 +0000 |
commit | 10ce26c08f4e8ffe6ac636b1fec6a33a847b0d3a (patch) | |
tree | a62cb33af6e62da2f4294efb9ac6882fdaaaaa11 /lib/gethrxtime.h | |
parent | e8cddd652b70864dafe0698c310611f7a6a67e30 (diff) | |
download | gnulib-10ce26c08f4e8ffe6ac636b1fec6a33a847b0d3a.tar.gz |
* modules/gethrxtime: New file.
* modules/xnanosleep (Files): Add m4/xnanosleep.m4.
(Depends-on): Add gethrxtime.
(configure.ac): Add gl_XNANOSLEEP.
(Makefile.am): Remove lib_SOURCES line.
* lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
* lib/timespec.h (gettime): Return void, since it always
succeeds now. All uses changed.
* lib/gettime.c (gettime) Likewise.
[HAVE_NANOTIME]: Prefer nanotime.
Assume gettimeofday succeeds, as POSIX requires.
Assime time () succeeds, since other code already does.
* lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
(timespec_subtract): Remove.
(NANOSLEEP_BUG_WORKAROUND): New constant.
(xnanosleep): Use gethrxtime rather than gettime; this simplifies
things considerably. Use it only on GNU/Linux hosts, since the
workaround shouldn't be needed elsewhere.
* m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
* m4/gettime.m4 (gl_GETTIME): Check for nanotime.
Diffstat (limited to 'lib/gethrxtime.h')
-rw-r--r-- | lib/gethrxtime.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/gethrxtime.h b/lib/gethrxtime.h new file mode 100644 index 0000000000..2c0e36da7d --- /dev/null +++ b/lib/gethrxtime.h @@ -0,0 +1,37 @@ +/* gethrxtime -- get high resolution real time + + Copyright (C) 2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Written by Paul Eggert. */ + +#ifndef GETHRXTIME_H_ +#define GETHRXTIME_H_ 1 + +#include "xtime.h" + +/* Get the current time, as a count of the number of nanoseconds since + an arbitrary epoch (e.g., the system boot time). This clock can't + be set, is always increasing, and is nearly linear. */ + +#if HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME +# include <time.h> +static inline xtime_t gethrxtime (void) { return gethrtime (); } +#else +xtime_t gethrxtime (void); +#endif + +#endif |