X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ftime%2Futils.cpp;h=7da0aede047aab2e9f2a839005879a61f187df78;hp=123b2d9192c11edfb2fda29f1a7aa22d6cb6cd66;hb=62a984b46e08740d19cb055f01be3365982f6b9d;hpb=30a1bd63b44a9d59f02231ed7b013164e957da52 diff --git a/source/time/utils.cpp b/source/time/utils.cpp index 123b2d9..7da0aed 100644 --- a/source/time/utils.cpp +++ b/source/time/utils.cpp @@ -3,7 +3,9 @@ #else #include #include +#include #endif +#include #include "datetime.h" #include "timedelta.h" #include "timestamp.h" @@ -71,14 +73,15 @@ TimeDelta get_cpu_time() /** Sleeps for the given time. */ -int sleep(const TimeDelta &d) +void sleep(const TimeDelta &d) { #ifndef WIN32 timespec ts = d; - return nanosleep(&ts, 0); + while(nanosleep(&ts, 0)==-1) + if(errno!=EINTR) + throw system_error("nanosleep"); #else Sleep((DWORD)(d/msec)); - return 0; #endif }