aboutsummaryrefslogtreecommitdiff
path: root/odb/details/lock.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/details/lock.hxx')
-rw-r--r--odb/details/lock.hxx17
1 files changed, 8 insertions, 9 deletions
diff --git a/odb/details/lock.hxx b/odb/details/lock.hxx
index 7902d77..b479f28 100644
--- a/odb/details/lock.hxx
+++ b/odb/details/lock.hxx
@@ -18,30 +18,29 @@ namespace odb
struct LIBODB_EXPORT lock
{
lock (mutex& m)
- : mutex_ (m), locked_ (true)
+ : mutex_ (&m)
{
- mutex_.lock ();
+ mutex_->lock ();
}
~lock ()
{
- if (locked_)
- mutex_.unlock ();
+ if (mutex_ != 0)
+ mutex_->unlock ();
}
void
unlock ()
{
- if (locked_)
+ if (mutex_ != 0)
{
- mutex_.unlock ();
- locked_ = true;
+ mutex_->unlock ();
+ mutex_ = 0;
}
}
private:
- mutex& mutex_;
- bool locked_;
+ mutex* mutex_;
};
}
}