Denis A Ustimenko wrote: > On Sun, Oct 13, 2002 at 09:02:55PM -0700, Joe Conway wrote: > > Denis A Ustimenko wrote: > > >>Bruce, why have all precise time calculations been droped out in 1.206? > > >>If there is no > > >>gettimeofday in win32? > > > > gettimeofday was not portable to win32 (at least not that I could find) and > > hence broke the win32 build of the clients. > > > > GetSystemTimeAsFileTime should help. > > >http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getsystemtimeasfiletime.asp
It's not clear to me how we could get this into something we can deal with like gettimeofday. I looked at the Apache APR project, and they have a routine that returns the microseconds since 1970 for Unix: /* NB NB NB NB This returns GMT!!!!!!!!!! */ APR_DECLARE(apr_time_t) apr_time_now(void) { struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec * APR_USEC_PER_SEC + tv.tv_usec; } and for Win32: APR_DECLARE(apr_time_t) apr_time_now(void) { LONGLONG aprtime = 0; FILETIME time; #ifndef _WIN32_WCE GetSystemTimeAsFileTime(&time); #else SYSTEMTIME st; GetSystemTime(&st); SystemTimeToFileTime(&st, &time); #endif FileTimeToAprTime(&aprtime, &time); return aprtime; } and FileTimeToAprTime() is: /* Number of micro-seconds between the beginning of the Windows epoch * (Jan. 1, 1601) and the Unix epoch (Jan. 1, 1970) */ #define APR_DELTA_EPOCH_IN_USEC APR_TIME_C(11644473600000000); __inline void FileTimeToAprTime(apr_time_t *result, FILETIME *input) { /* Convert FILETIME one 64 bit number so we can work with it. */ *result = input->dwHighDateTime; *result = (*result) << 32; *result |= input->dwLowDateTime; *result /= 10; /* Convert from 100 nano-sec periods to micro-seconds. */ *result -= APR_DELTA_EPOCH_IN_USEC; /* Convert from Windows epoch to Unix epoch */ return; } So, this is what needs to be dealt with to get it working. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]