diff options
Diffstat (limited to 'framework/inc/helper/shareablemutex.hxx')
-rw-r--r-- | framework/inc/helper/shareablemutex.hxx | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/framework/inc/helper/shareablemutex.hxx b/framework/inc/helper/shareablemutex.hxx index b980be329e..8d6cbf9630 100644 --- a/framework/inc/helper/shareablemutex.hxx +++ b/framework/inc/helper/shareablemutex.hxx @@ -31,11 +31,12 @@ #include <osl/interlck.h> #include <osl/mutex.hxx> +#include <fwidllapi.h> namespace framework { -class ShareableMutex +class FWI_DLLPUBLIC ShareableMutex { public: ShareableMutex(); @@ -53,12 +54,12 @@ class ShareableMutex { MutexRef() : m_refCount(0) {} void acquire() - { + { osl_incrementInterlockedCount( &m_refCount ); } - + void release() - { + { if ( osl_decrementInterlockedCount( &m_refCount ) == 0 ) delete this; } @@ -78,7 +79,7 @@ class ShareGuard { m_rShareMutex.acquire(); } - + ~ShareGuard() { m_rShareMutex.release(); @@ -90,7 +91,7 @@ class ShareGuard ShareableMutex& m_rShareMutex; }; - + } #endif // #ifndef __FRAMEWORK_HELPER_SHAREABLEMUTEX_HXX_ |