diff Core/SystemToolbox.cpp @ 2242:4e8e0ad2001c

move USleep() in SystemToolbox
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 19 Dec 2016 15:31:01 +0100
parents 1c42860097fc
children a3a65de1840f
line wrap: on
line diff
--- a/Core/SystemToolbox.cpp	Fri Dec 16 19:59:48 2016 +0100
+++ b/Core/SystemToolbox.cpp	Mon Dec 19 15:31:01 2016 +0100
@@ -123,7 +123,7 @@
     barrierEvent_ = ServerBarrierEvent_Stop;
     while (!(*stopFlag || finish_))
     {
-      Toolbox::USleep(100 * 1000);
+      SystemToolbox::USleep(100 * 1000);
     }
 
 #if defined(_WIN32)
@@ -152,6 +152,18 @@
   }
 
 
+  void SystemToolbox::USleep(uint64_t microSeconds)
+  {
+#if defined(_WIN32)
+    ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000)));
+#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) || defined(__native_client__)
+    usleep(microSeconds);
+#else
+#error Support your platform here
+#endif
+  }
+
+
   static std::streamsize GetStreamSize(std::istream& f)
   {
     // http://www.cplusplus.com/reference/iostream/istream/tellg/