From 9607293ae5e11a208282c6adb8c8d839254ac57c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 16 Oct 2022 15:09:56 -0500 Subject: [PATCH] feat(thread): add SSyncObject::Valid --- storm/thread/SSyncObject.cpp | 10 ++++++++++ storm/thread/SSyncObject.hpp | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/storm/thread/SSyncObject.cpp b/storm/thread/SSyncObject.cpp index 3e6738e..578d3b5 100644 --- a/storm/thread/SSyncObject.cpp +++ b/storm/thread/SSyncObject.cpp @@ -12,6 +12,16 @@ SSyncObject::SSyncObject() { #endif } +bool SSyncObject::Valid() { +#if defined(WHOA_SYSTEM_WIN) + return this->m_opaqueData != nullptr; +#endif + +#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX) + return this->int0 - 1 <= 4; +#endif +} + uint32_t SSyncObject::Wait(uint32_t timeoutMs) { #if defined(WHOA_SYSTEM_WIN) return WaitForSingleObject(this->m_opaqueData, timeoutMs); diff --git a/storm/thread/SSyncObject.hpp b/storm/thread/SSyncObject.hpp index bf18bff..232b4d1 100644 --- a/storm/thread/SSyncObject.hpp +++ b/storm/thread/SSyncObject.hpp @@ -29,7 +29,7 @@ class SSyncObject { // Member functions SSyncObject(); void Close(void); - bool Valid(void); + bool Valid(); uint32_t Wait(uint32_t timeoutMs); };