# HG changeset patch # User Sebastien Jodogne # Date 1482157861 -3600 # Node ID 4e8e0ad2001cbb8ae48758687c73ab8b8947e400 # Parent eb363ec95d863989abf5a59174ff3164c2831f2e move USleep() in SystemToolbox diff -r eb363ec95d86 -r 4e8e0ad2001c Core/SystemToolbox.cpp --- 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(microSeconds / static_cast(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/ diff -r eb363ec95d86 -r 4e8e0ad2001c Core/SystemToolbox.h --- a/Core/SystemToolbox.h Fri Dec 16 19:59:48 2016 +0100 +++ b/Core/SystemToolbox.h Mon Dec 19 15:31:01 2016 +0100 @@ -50,6 +50,8 @@ { namespace SystemToolbox { + void USleep(uint64_t microSeconds); + ServerBarrierEvent ServerBarrier(const bool& stopFlag); ServerBarrierEvent ServerBarrier(); diff -r eb363ec95d86 -r 4e8e0ad2001c Core/Toolbox.cpp --- a/Core/Toolbox.cpp Fri Dec 16 19:59:48 2016 +0100 +++ b/Core/Toolbox.cpp Mon Dec 19 15:31:01 2016 +0100 @@ -90,18 +90,6 @@ namespace Orthanc { - void Toolbox::USleep(uint64_t microSeconds) - { -#if defined(_WIN32) - ::Sleep(static_cast(microSeconds / static_cast(1000))); -#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__) || defined(__native_client__) - usleep(microSeconds); -#else -#error Support your platform here -#endif - } - - void Toolbox::ToUpperCase(std::string& s) { std::transform(s.begin(), s.end(), s.begin(), toupper); diff -r eb363ec95d86 -r 4e8e0ad2001c Core/Toolbox.h --- a/Core/Toolbox.h Fri Dec 16 19:59:48 2016 +0100 +++ b/Core/Toolbox.h Mon Dec 19 15:31:01 2016 +0100 @@ -78,8 +78,6 @@ namespace Toolbox { - void USleep(uint64_t microSeconds); - void ToUpperCase(std::string& s); // Inplace version void ToLowerCase(std::string& s); // Inplace version diff -r eb363ec95d86 -r 4e8e0ad2001c Core/WebServiceParameters.cpp --- a/Core/WebServiceParameters.cpp Fri Dec 16 19:59:48 2016 +0100 +++ b/Core/WebServiceParameters.cpp Mon Dec 19 15:31:01 2016 +0100 @@ -34,7 +34,6 @@ #include "WebServiceParameters.h" #include "../Core/Logging.h" -#include "../Core/Toolbox.h" #include "../Core/OrthancException.h" #if ORTHANC_SANDBOXED == 0 diff -r eb363ec95d86 -r 4e8e0ad2001c Resources/CMake/BoostConfiguration.cmake --- a/Resources/CMake/BoostConfiguration.cmake Fri Dec 16 19:59:48 2016 +0100 +++ b/Resources/CMake/BoostConfiguration.cmake Mon Dec 19 15:31:01 2016 +0100 @@ -99,6 +99,13 @@ -DBOOST_LOCALE_NO_POSIX_BACKEND=1 -DBOOST_LOCALE_NO_STD_BACKEND=1 ) + + elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten") + add_definitions( + -DBOOST_LOCALE_NO_POSIX_BACKEND=1 + -DBOOST_LOCALE_NO_STD_BACKEND=1 + ) + else() message(FATAL_ERROR "Support your platform here") endif() @@ -114,10 +121,15 @@ list(APPEND BOOST_SOURCES ${BOOST_REGEX_SOURCES} ${BOOST_SOURCES_DIR}/libs/date_time/src/gregorian/greg_month.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp ) + if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten") + list(APPEND BOOST_SOURCES + ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp + ) + endif() + if (${CMAKE_SYSTEM_NAME} STREQUAL "PNaCl" OR ${CMAKE_SYSTEM_NAME} STREQUAL "NaCl32" OR ${CMAKE_SYSTEM_NAME} STREQUAL "NaCl64") diff -r eb363ec95d86 -r 4e8e0ad2001c UnitTestsSources/MultiThreadingTests.cpp --- a/UnitTestsSources/MultiThreadingTests.cpp Fri Dec 16 19:59:48 2016 +0100 +++ b/UnitTestsSources/MultiThreadingTests.cpp Mon Dec 19 15:31:01 2016 +0100 @@ -143,7 +143,7 @@ } printf("**\n"); fflush(stdout); - Toolbox::USleep(1000000); + SystemToolbox::USleep(1000000); printf("**\n"); fflush(stdout); { @@ -184,7 +184,7 @@ outputs.push_back(boost::lexical_cast(b)); } - Toolbox::USleep(30000); + SystemToolbox::USleep(30000); return true; } @@ -203,7 +203,7 @@ { printf(">> %s: %0.1f\n", it->c_str(), 100.0f * s->GetProgress(*it)); } - Toolbox::USleep(3000); + SystemToolbox::USleep(3000); } } @@ -248,7 +248,7 @@ } //SystemToolbox::ServerBarrier(); - //Toolbox::USleep(3000000); + //SystemToolbox::USleep(3000000); scheduler.Stop();