time: Use clock_gettime if the monotonic clock is available
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
65e78a2e4b
commit
ebef9f5a56
4
configure
vendored
4
configure
vendored
@ -1432,6 +1432,7 @@ MATH_FUNCS="
|
||||
|
||||
SYSTEM_FUNCS="
|
||||
aligned_malloc
|
||||
clock_gettime
|
||||
closesocket
|
||||
CommandLineToArgvW
|
||||
CoTaskMemFree
|
||||
@ -4038,6 +4039,9 @@ check_func_headers malloc.h _aligned_malloc && enable aligned_malloc
|
||||
check_func ${malloc_prefix}memalign && enable memalign
|
||||
check_func ${malloc_prefix}posix_memalign && enable posix_memalign
|
||||
|
||||
check_cpp_condition unistd.h "defined(_POSIX_MONOTONIC_CLOCK)" &&
|
||||
check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt; }
|
||||
|
||||
check_func fcntl
|
||||
check_func fork
|
||||
check_func gethrtime
|
||||
|
@ -21,7 +21,9 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
#if HAVE_GETTIMEOFDAY
|
||||
#if HAVE_CLOCK_GETTIME
|
||||
#include <time.h>
|
||||
#elif HAVE_GETTIMEOFDAY
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#if HAVE_UNISTD_H
|
||||
@ -36,7 +38,11 @@
|
||||
|
||||
int64_t av_gettime(void)
|
||||
{
|
||||
#if HAVE_GETTIMEOFDAY
|
||||
#if HAVE_CLOCK_GETTIME
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
return (int64_t)ts.tv_sec * 100000 + ts.tv_nsec / 1000;
|
||||
#elif HAVE_GETTIMEOFDAY
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, NULL);
|
||||
return (int64_t)tv.tv_sec * 1000000 + tv.tv_usec;
|
||||
|
Loading…
Reference in New Issue
Block a user