X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fe304706848f0a64477d4687b3ea97d5b9a0c35c..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/xbt/xbt_os_time.c diff --git a/src/xbt/xbt_os_time.c b/src/xbt/xbt_os_time.c index d07e6ac206..8cccbf0e9f 100644 --- a/src/xbt/xbt_os_time.c +++ b/src/xbt/xbt_os_time.c @@ -1,6 +1,6 @@ /* xbt_os_time.c -- portable interface to time-related functions */ -/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -80,7 +80,7 @@ double xbt_os_time(void) return (double) (time(NULL)); #endif /* HAVE_GETTIMEOFDAY? */ - return (double) (tv.tv_sec + tv.tv_usec / 1000000.0); + return (double)tv.tv_sec + (double)tv.tv_usec / 1e6; } void xbt_os_sleep(double sec) @@ -91,14 +91,14 @@ void xbt_os_sleep(double sec) #elif HAVE_NANOSLEEP struct timespec ts; - ts.tv_sec = sec; - ts.tv_nsec = (sec - floor(sec)) * 1e9; + ts.tv_sec = (time_t)sec; + ts.tv_nsec = (long)((sec - floor(sec)) * 1e9); nanosleep (&ts, NULL); #else /* don't have nanosleep. Use select to sleep less than one second */ struct timeval timeout; - timeout.tv_sec = (unsigned long) (sec); - timeout.tv_usec = (sec - floor(sec)) * 1000000; + timeout.tv_sec = (long)sec; + timeout.tv_usec = (long)(sec - floor(sec)) * 1e6); select(0, NULL, NULL, NULL, &timeout); #endif @@ -140,7 +140,7 @@ void xbt_os_timer_free(xbt_os_timer_t timer) free(timer); } -double xbt_os_timer_elapsed(xbt_os_timer_t timer) +double xbt_os_timer_elapsed(const_xbt_os_timer_t timer) { #if HAVE_POSIX_GETTIME && defined (_POSIX_THREAD_CPUTIME) return ((double) timer->stop.tv_sec) - ((double) timer->start.tv_sec) + ((double) timer->elapse.tv_sec ) +