modules/gettime


Log

Author Commit Date CI Message
Eric Blake 1c42543c 2007-04-13T02:05:39 * modules/gettime (Depends-on): Remove gettime. Reported by Dmitry V. Levin.
Paul Eggert 5661ab9d 2007-01-18T08:33:34 * MODULES.html.sh (Support for systems lacking POSIX:2001): New module sys_time. * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer assume timespec.h defines struct timeval. * lib/settime.c: Likewise. * lib/utimens.c: Likewise. * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY, since we now assume the gettimeofday module. * lib/tempname.c (__gen_tempname): Likewise. * lib/gettimeofday.h: Remove. * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h". Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed. Include <time.h>, for 'time()'. (localtime_buffer_addr): Also use this workaround if TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default, to simplify the uses. All uses changed. (localtime, gmtime, tzset, gettimeofday): Reformat slightly so that #undef is inside {}, and 'const' follows type name consistently. (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME. (gettimeofday): Do not use the maximum possible value for tv->tv_usec, since that might break usages other than ls.c. Instead, we'll leave ls.c alone. This undoes today's patch by Bruno. Add a compile-time warning for 1s-clock resolution; we've never observed the problem but might as well keep the canary. * lib/nanosleep.c: Include timespec.h first, for interface check. * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we now assume the sys_time module. * lib/tempname.c: Likewise. * lib/timespec.h: Likewise. * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer needed. * lib/strftime.c: Likewise. * lib/timespec.h: Likewise. * lib/posixtm.c: Include posixtm.h first, for interface check. Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete. * lib/posixtm.h: Include stdbool.h and time.h, for proper interface. * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed. * lib/sys_time_.h: New file. * lib/timespec.h (struct timespec): Use long int, not long. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY): Remove obsolescent call to AC_HEADER_TIME. * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC): Likewise. * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests into the sys_time module. Check for gettimeofday just once. Prefix our variables with gl_, not with ac_ or jm_. Tighten test for gettimeofday signature to just check the signature. Merely compile it, since linking doesn't test signature. Improve test for whether gettimeofday.o is actually needed. (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set and define GETTIMEOFDAY_CLOBBERS_LOCALTIME. (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job. * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather than worrying about sys/time.h. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Don't bother worrying about TIME_WITH_SYS_TIME. * m4/stat-time.m4 (gl_STAT_TIME): Likewise. * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM. * m4/sys_time_h.m4: New file. * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H. Don't include sys/time.h. Return from main rather than exiting. Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names; all uses changed. * modules/gethrxtime (Depends-on): Add sys_time. * modules/gettime (Depends-on): Likewise. * modules/gettimeofday (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/settime (Depends-on): Likewise. * modules/tempname (Depends-on): Likewise. * modules/utimens (Depends-on): Likewise. * modules/gettimeofday (Files): Remove lib/gettimeofday.h. (Include:) Change back to <sys/time.h>. (Maintainer:) Add self. * modules/sys_time: New file. * modules/tempname (Depends-on): Add gettimeofday. * tests/test-gettimeofday.c: Include <sys/time.h> rather than gettimeofday.h.
Bruno Haible 5eeec029 2006-10-13T12:40:22 gnulib-tool now synthesizes the EXTRA_DIST line.
Bruno Haible e8684643 2006-10-12T18:52:30 Distribute all lib/* source files through EXTRA_DIST.
Ralf Wildenhues c90a7886 2006-09-25T17:35:50 * modules/clock-time: New module. * modules/nanosleep (Depends-on): Add clock-time. * modules/gethrxtime (Depends-on): Likewise. * modules/gettime (Depends-on): Likewise. * modules/settime (Depends-on): Likewise.
Paul Eggert a50636ff 2006-08-31T07:00:50 Work around a bug in both the Linux and SunOS 64-bit kernels: nanosleep mishandles sleeps for longer than 2**31 seconds. Problem reported by Frank v Waveren in <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>. * lib/nanosleep.c (BILLION): New constant. (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions. (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new implementation. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME. * modules/nanosleep (Depends-on): Add gettime.
Paul Eggert 5af41bb2 2006-03-02T07:36:41 * modules/gettime (Depends-on): Add extensions module. * modules/nanosleep (Depends-on): Likewise. * modules/settime (Depends-on): Likewise. * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled pedantically. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * m4/timespec.m4 (gl_TIMESPEC): Likewise.
Paul Eggert 45cbdc48 2005-03-01T21:22:53 (Makefile.am): Remove lib_SOURCES line. (Include): Add "timespec.h".
Bruno Haible 5143f4e9 2004-09-22T15:11:04 Add a license tag to every module.
Bruno Haible 6f99528a 2003-01-20T10:02:37 Add a Maintainer.
Bruno Haible 2e82f91f 2003-01-13T16:07:17 Add module descriptions.
Bruno Haible 740e9a30 2002-12-31T13:46:30 Module description.