From 3728c3d1670a5701cb55aa1fd0d9a65050b9160c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 3 Mar 2023 10:44:30 -0600 Subject: [PATCH] feat(process): add basic process functions --- bc/Process.cpp | 15 +++++++++++++++ bc/Process.hpp | 15 +++++++++++++++ test/Process.cpp | 9 +++++++++ 3 files changed, 39 insertions(+) create mode 100644 bc/Process.cpp create mode 100644 bc/Process.hpp create mode 100644 test/Process.cpp diff --git a/bc/Process.cpp b/bc/Process.cpp new file mode 100644 index 0000000..d0e707f --- /dev/null +++ b/bc/Process.cpp @@ -0,0 +1,15 @@ +#include "bc/Process.hpp" +#include + +void Blizzard::Process::Sleep(uint32_t duration) { +#if defined(WHOA_SYSTEM_WIN) + // TODO +#elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX) + struct timespec request; + + request.tv_sec = 0; + request.tv_nsec = duration * 1000000; + + nanosleep(&request, nullptr); +#endif +} diff --git a/bc/Process.hpp b/bc/Process.hpp new file mode 100644 index 0000000..6a176dc --- /dev/null +++ b/bc/Process.hpp @@ -0,0 +1,15 @@ +#ifndef BC_PROCESS_HPP +#define BC_PROCESS_HPP + +#include + +namespace Blizzard { +namespace Process { + +// Functions +void Sleep(uint32_t duration); + +} // namespace Process +} // namespace Blizzard + +#endif diff --git a/test/Process.cpp b/test/Process.cpp new file mode 100644 index 0000000..165ecdb --- /dev/null +++ b/test/Process.cpp @@ -0,0 +1,9 @@ +#include "bc/Process.hpp" +#include "test/Test.hpp" + +TEST_CASE("Blizzard::Process::Sleep", "[process]") { + SECTION("sleeps") { + Blizzard::Process::Sleep(1); + SUCCEED(); + } +}