diff options
Diffstat (limited to 'cpp/src/IceUtil/Thread.cpp')
-rw-r--r-- | cpp/src/IceUtil/Thread.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp index 6648c22da1d..d689cae9b39 100644 --- a/cpp/src/IceUtil/Thread.cpp +++ b/cpp/src/IceUtil/Thread.cpp @@ -9,7 +9,8 @@ // ********************************************************************** #include <IceUtil/Thread.h> -#include <IceUtil/Exception.h> +#include <IceUtil/Exception.h>
+#include <IceUtil/Time.h> using namespace std; @@ -63,8 +64,10 @@ IceUtil::ThreadControl::join() } void -IceUtil::ThreadControl::sleep(long msec) +IceUtil::ThreadControl::sleep(const Time& timeout) { + timeval tv = timeout; + long msec = (tv.tv_sec * 1000) + (tv.tv_usec / 1000); Sleep(msec); } @@ -209,12 +212,9 @@ IceUtil::ThreadControl::join() } void -IceUtil::ThreadControl::sleep(long msec) +IceUtil::ThreadControl::sleep(const Time& timeout) { - struct timespec tv; - tv.tv_sec = msec/1000; - tv.tv_nsec = (msec % 1000)* 1000000; - nanosleep(&tv, 0); + nanosleep(timeout, 0); } void |