#define JMUTEX_H
#if (defined(WIN32) || defined(_WIN32_WCE))
+ #ifndef _WIN32_WINNT
+ #define _WIN32_WINNT 0x0501
+ #endif
#ifndef _WIN32_WCE
#include <process.h>
#endif // _WIN32_WCE
int Lock();
int Unlock();
bool IsInitialized() { return initialized; }
+
private:
#if (defined(WIN32) || defined(_WIN32_WCE))
#ifdef JMUTEX_CRITICALSECTION
#endif // JMUTEX_CRITICALSECTION
#else // pthread mutex
pthread_mutex_t mutex;
+
+ bool IsLocked() {
+ if (pthread_mutex_trylock(&mutex)) {
+ pthread_mutex_unlock(&mutex);
+ return true;
+ }
+ return false;
+ }
#endif // WIN32
bool initialized;
};
void signal() {
SetEvent(hEvent);
}
-}
+};
#else