Mercurial > hg > orthanc-stone
comparison Resources/Orthanc/Core/SystemToolbox.cpp @ 39:9ee7e2f5f1a3
sync
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 21 Dec 2016 14:19:38 +0100 |
parents | a4a1e4033403 |
children | 7207a407bcd8 |
comparison
equal
deleted
inserted
replaced
38:bfce0add15f2 | 39:9ee7e2f5f1a3 |
---|---|
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 { |