X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libtest%2Ftimer.hpp;h=eac5194036300a533dfabfbf14f4fd4f9a8adc61;hb=8e04e2a97ba16fce9ebf7d47a944de2dc40ba453;hp=28ec47416766c3eb917447d527a57ef1e0e47e97;hpb=5cac64189701682ebc7c89f4daaddc426fc5073e;p=awesomized%2Flibmemcached diff --git a/libtest/timer.hpp b/libtest/timer.hpp index 28ec4741..eac51940 100644 --- a/libtest/timer.hpp +++ b/libtest/timer.hpp @@ -44,6 +44,7 @@ # include # include #else +# include # include #endif @@ -122,8 +123,24 @@ private: mach_port_deallocate(mach_task_self(), _clock_serv); ts.tv_sec= _mach_timespec.tv_sec; ts.tv_nsec= _mach_timespec.tv_nsec; +#elif defined(HAVE_CLOCK_GETTIME) && HAVE_CLOCK_GETTIME + int ret; + do + { + ret= clock_gettime(CLOCK_REALTIME, &ts); + } while (ret == -1); +#elif defined(HAVE_GETTIMEOFDAY) && HAVE_GETTIMEOFDAY + struct timeval tv; + int ret; + do + { + ret= gettimeofday(&tv, NULL) + } while (ret == -1); + /* Convert from timeval to timespec */ + ts.tv_sec= tv.tv_sec; + ts.tv_nsec= tv.tv_usec * 1000; #else - clock_gettime(CLOCK_REALTIME, &ts); + memset(&ts, 0, sizeof(struct timespec)); #endif }