diff --git a/storm/thread/SCritSect.cpp b/storm/thread/SCritSect.cpp index 2dc6e9d..db05ca4 100644 --- a/storm/thread/SCritSect.cpp +++ b/storm/thread/SCritSect.cpp @@ -14,6 +14,16 @@ SCritSect::SCritSect() { #endif } +SCritSect::~SCritSect() { +#if defined(WHOA_SYSTEM_WIN) + DeleteCriticalSection(&this->m_opaqueData); +#endif + +#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX) + pthread_mutex_destroy(&this->m_mutex); +#endif +} + void SCritSect::Enter() { #if defined(WHOA_SYSTEM_WIN) EnterCriticalSection(&this->m_opaqueData); diff --git a/storm/thread/SCritSect.hpp b/storm/thread/SCritSect.hpp index 552a871..8ad6b38 100644 --- a/storm/thread/SCritSect.hpp +++ b/storm/thread/SCritSect.hpp @@ -22,6 +22,7 @@ class SCritSect { // Member functions SCritSect(); + ~SCritSect(); void Enter(void); void Leave(void); };