Files
surfer/openssl-act-engine/SyncObjectMacOS.h
carsten.pluntke 9a8b208c62 References #2
2010-09-02 15:56:01 +00:00

47 lines
765 B
C++

#ifndef SyncObject_MacOS_h
#define SyncObject_MacOS_h
#ifndef SyncObject_h
# error include SyncObject.h instead
#endif
#include <CoreServices/CoreServices.h>
namespace act
{
class SyncObject
{
private:
SyncObject(const SyncObject&);
SyncObject& operator=(const SyncObject&);
public:
SyncObject();
~SyncObject();
void lock();
void unlock();
long lockCount() const { return m_lock_count; }
MPTaskID threadId() const { return m_thread_id; }
private:
volatile long m_lock_count;
volatile MPTaskID m_thread_id;
MPCriticalRegionID m_sync;
};
void Sleep(long msec);
} // namespace act
#ifdef verify
# undef verify
#endif
#ifdef check
# undef check
#endif
#endif // SyncObject_MacOS_h