mirror of
https://github.com/thunderbrewhq/bc.git
synced 2025-12-12 10:02:30 +00:00
feat(process): add windows support to sleep function
This commit is contained in:
parent
d817c41985
commit
3b5da1af9c
3 changed files with 21 additions and 6 deletions
|
|
@ -20,6 +20,15 @@ set(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
include(lib/system/cmake/system.cmake)
|
include(lib/system/cmake/system.cmake)
|
||||||
|
|
||||||
|
# OS defines
|
||||||
|
if(WHOA_SYSTEM_WIN)
|
||||||
|
# Avoid win32 header hell
|
||||||
|
add_compile_definitions(
|
||||||
|
NOMINMAX
|
||||||
|
WIN32_LEAN_AND_MEAN
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(lib)
|
add_subdirectory(lib)
|
||||||
add_subdirectory(bc)
|
add_subdirectory(bc)
|
||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,20 @@
|
||||||
#include "bc/Process.hpp"
|
#include "bc/Process.hpp"
|
||||||
#include <ctime>
|
|
||||||
|
|
||||||
void Blizzard::Process::Sleep(uint32_t duration) {
|
|
||||||
#if defined(WHOA_SYSTEM_WIN)
|
#if defined(WHOA_SYSTEM_WIN)
|
||||||
// TODO
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
|
||||||
|
#include <ctime>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void Blizzard::Process::Sleep(uint32_t durationMs) {
|
||||||
|
#if defined(WHOA_SYSTEM_WIN)
|
||||||
|
::Sleep(durationMs);
|
||||||
#elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
|
#elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
|
||||||
struct timespec request;
|
struct timespec request;
|
||||||
|
|
||||||
request.tv_sec = 0;
|
request.tv_sec = 0;
|
||||||
request.tv_nsec = duration * 1000000;
|
request.tv_nsec = durationMs * 1000000;
|
||||||
|
|
||||||
nanosleep(&request, nullptr);
|
nanosleep(&request, nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ namespace Blizzard {
|
||||||
namespace Process {
|
namespace Process {
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
void Sleep(uint32_t duration);
|
void Sleep(uint32_t durationMs);
|
||||||
|
|
||||||
} // namespace Process
|
} // namespace Process
|
||||||
} // namespace Blizzard
|
} // namespace Blizzard
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue