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); };