Commit d6c20069 authored by Davis King's avatar Davis King

Added auto_mutex::unlock()

parent 213b0ff1
......@@ -63,15 +63,29 @@ namespace dlib
rw->lock();
}
~auto_mutex (
)
void unlock()
{
if (m != 0)
{
m->unlock();
m = 0;
}
else if (r != 0)
{
r->unlock();
else
r = 0;
}
else if (rw != 0)
{
rw->unlock();
rw = 0;
}
}
~auto_mutex (
)
{
unlock();
}
private:
......
......@@ -52,12 +52,21 @@ namespace dlib
- m will be locked via m.lock() (i.e. a write lock will be obtained)
!*/
void unlock(
);
/*!
ensures
- if (unlock() has not already been called) then
- The mutex associated with *this has been unlocked. This is useful if
you want to unlock a mutex before the auto_mutex destructor executes.
!*/
~auto_mutex (
);
/*!
ensures
- all resources allocated by *this have been freed
- the mutex associated with *this has been unlocked
- calls unlock()
!*/
private:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment