diff options
-rw-r--r-- | client/threads.cpp | 10 | ||||
-rw-r--r-- | client/x11/platform.cpp | 9 | ||||
-rw-r--r-- | configure.ac | 2 |
3 files changed, 20 insertions, 1 deletions
diff --git a/client/threads.cpp b/client/threads.cpp index a9b8ea50..eb4b7a18 100644 --- a/client/threads.cpp +++ b/client/threads.cpp @@ -22,6 +22,9 @@ #ifdef WIN32 #include <sys/timeb.h> #endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif Thread::Thread(thread_main_t thread_main, void* opaque) { @@ -43,8 +46,13 @@ static inline void rel_time(struct timespec& time, uint64_t delta_nano) _ftime_s(&now); time.tv_sec = (long)now.time; time.tv_nsec = now.millitm * 1000 * 1000; -#else +#elif defined(HAVE_CLOCK_GETTIME) clock_gettime(CLOCK_MONOTONIC, &time); +#else + struct timeval tv; + gettimeofday(&tv,NULL); + time.tv_sec = tv.tv_sec; + time.tv_nsec = tv.tv_usec*1000; #endif delta_nano += (uint64_t)time.tv_sec * 1000 * 1000 * 1000; delta_nano += time.tv_nsec; diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp index a87dcfa9..65af063f 100644 --- a/client/x11/platform.cpp +++ b/client/x11/platform.cpp @@ -41,6 +41,9 @@ #include <values.h> #include <signal.h> #include <sys/shm.h> +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif #include "platform.h" #include "application.h" @@ -425,9 +428,15 @@ void Platform::send_quit_request() uint64_t Platform::get_monolithic_time() { +#ifdef HAVE_CLOCK_GETTIME struct timespec time_space; clock_gettime(CLOCK_MONOTONIC, &time_space); return uint64_t(time_space.tv_sec) * 1000 * 1000 * 1000 + uint64_t(time_space.tv_nsec); +#else + struct timeval tv; + gettimeofday(&tv, NULL); + return uint64_t(tv.tv_sec) * 1000 * 1000 * 1000 + uint64_t(tv.tv_usec) * 1000; +#endif } void Platform::get_temp_dir(std::string& path) diff --git a/configure.ac b/configure.ac index 76f90711..278e7084 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,8 @@ AM_PROG_CC_C_O AC_C_BIGENDIAN AC_PATH_PROGS(PYTHON, python2 python) +AC_CHECK_HEADERS([sys/time.h]) + SPICE_LT_VERSION=m4_format("%d:%d:%d", 1, 0, 2) AC_SUBST(SPICE_LT_VERSION) |