]> err.no Git - varnish/commitdiff
If clock_gettime() is not available, use gettimeofday() directly.
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 19 Jul 2007 11:01:36 +0000 (11:01 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 19 Jul 2007 11:01:36 +0000 (11:01 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1716 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/lib/libvarnish/time.c

index 66c4a251f7fcfe186ca89b7dbaa958a27225a80d..f2a375d0967248bff886be1af0b286b0a11b116c 100644 (file)
  *
  */
 
+#include <sys/time.h>
+
 #include <stdio.h>
 #include <string.h>
 #include <time.h>
 
-#ifndef HAVE_CLOCK_GETTIME
-#include "compat/clock_gettime.h"
-#endif
-
 #include "libvarnish.h"
 
 double
 TIM_mono(void)
 {
+#ifdef HAVE_CLOCK_GETTIME
        struct timespec ts;
 
        assert(clock_gettime(CLOCK_MONOTONIC, &ts) == 0);
        return (ts.tv_sec + 1e-9 * ts.tv_nsec);
+#else
+       struct timeval tv;
+
+       assert(gettimeofday(&tv, NULL) == 0);
+       return (tv.tv_sec + 1e-6 * tv.tv_usec);
+#endif
 }
 
 double
 TIM_real(void)
 {
+#ifdef HAVE_CLOCK_GETTIME
        struct timespec ts;
 
        assert(clock_gettime(CLOCK_REALTIME, &ts) == 0);
        return (ts.tv_sec + 1e-9 * ts.tv_nsec);
+#else
+       struct timeval tv;
+
+       assert(gettimeofday(&tv, NULL) == 0);
+       return (tv.tv_sec + 1e-6 * tv.tv_usec);
+#endif
 }
 
 void
@@ -85,9 +97,10 @@ TIM_format(time_t t, char *p)
 
 /* XXX: add statistics ? */
 static const char *fmts[] = {
-       "%a, %d %b %Y %T GMT",  /* RFC 822 & RFC1123 */
-       "%A, %d-%b-%y %T GMT",  /* RFC850 */
+       "%a, %d %b %Y %T GMT",  /* RFC 822 & RFC 1123 */
+       "%A, %d-%b-%y %T GMT",  /* RFC 850 */
        "%a %b %d %T %Y",       /* ANSI-C asctime() */
+       "%F %T",                /* ISO 8601 */
        NULL
 };