comparison 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
comparison
equal deleted inserted replaced
2241:eb363ec95d86 2242:4e8e0ad2001c
121 // Active loop that awakens every 100ms 121 // Active loop that awakens every 100ms
122 finish_ = false; 122 finish_ = false;
123 barrierEvent_ = ServerBarrierEvent_Stop; 123 barrierEvent_ = ServerBarrierEvent_Stop;
124 while (!(*stopFlag || finish_)) 124 while (!(*stopFlag || finish_))
125 { 125 {
126 Toolbox::USleep(100 * 1000); 126 SystemToolbox::USleep(100 * 1000);
127 } 127 }
128 128
129 #if defined(_WIN32) 129 #if defined(_WIN32)
130 SetConsoleCtrlHandler(ConsoleControlHandler, false); 130 SetConsoleCtrlHandler(ConsoleControlHandler, false);
131 #else 131 #else
147 147
148 ServerBarrierEvent SystemToolbox::ServerBarrier() 148 ServerBarrierEvent SystemToolbox::ServerBarrier()
149 { 149 {
150 const bool stopFlag = false; 150 const bool stopFlag = false;
151 return ServerBarrierInternal(&stopFlag); 151 return ServerBarrierInternal(&stopFlag);
152 }
153
154
155 void SystemToolbox::USleep(uint64_t microSeconds)
156 {
157 #if defined(_WIN32)
158 ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000)));
159 #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) || defined(__native_client__)
160 usleep(microSeconds);
161 #else
162 #error Support your platform here
163 #endif
152 } 164 }
153 165
154 166
155 static std::streamsize GetStreamSize(std::istream& f) 167 static std::streamsize GetStreamSize(std::istream& f)
156 { 168 {