1 /***********************************************************************/
5 /* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
7 /* Copyright 1996 Institut National de Recherche en Informatique et */
8 /* en Automatique. All rights reserved. This file is distributed */
9 /* under the terms of the GNU Library General Public License, with */
10 /* the special exception on linking described in file ../../LICENSE. */
12 /***********************************************************************/
14 /* $Id: gettimeofday.c 7946 2007-03-01 13:51:24Z xleroy $ */
20 #include "unixsupport.h"
22 static time_t initial_time = 0; /* 0 means uninitialized */
23 static DWORD initial_tickcount;
25 CAMLprim value unix_gettimeofday(value unit)
27 DWORD tickcount = GetTickCount();
28 if (initial_time == 0 || tickcount < initial_tickcount) {
29 initial_tickcount = tickcount;
30 initial_time = time(NULL);
31 return copy_double((double) initial_time);
33 return copy_double((double) initial_time +
34 (double) (tickcount - initial_tickcount) * 1e-3);