8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-25 00:03:03 +01:00
firebird-mirror/src/jrd/smp_impl.h

41 lines
564 B
C++

#ifndef JRD_SMP_IMPL_H
#define JRD_SMP_IMPL_H
#include "../jrd/smp.h"
#include "../jrd/thd.h"
class V4Mutex : public SmpLock
{
public:
V4Mutex()
{
#ifdef V4_THREADING
V4_MUTEX_INIT(&mutex);
#endif
}
~V4Mutex()
{
#ifdef V4_THREADING
V4_MUTEX_DESTROY(&mutex);
#endif
}
virtual void acquire(void)
{
#ifdef V4_THREADING
V4_MUTEX_LOCK(&mutex);
#endif
}
virtual void release(void)
{
#ifdef V4_THREADING
V4_MUTEX_UNLOCK(&mutex);
#endif
}
private:
MUTX mutex;
};
#endif // JRD_SMP_IMPL_H