summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Volz <andreas@optolix.mittelerde>2009-12-01 23:32:21 +0100
committerAndreas Volz <andreas@optolix.mittelerde>2009-12-01 23:32:21 +0100
commit5ae444ff224d11c8ce535ffb1be65cfc90bfa3ff (patch)
tree6a05fb80c2242c01060fa6c0fd933b7bd17d2c98
parentc505052353b6338e5cdd73133bd45aee2f8cf1de (diff)
parent676d6225d4e9490357505af1a60dcde18ba3f894 (diff)
downloaddbus-c++-5ae444ff224d11c8ce535ffb1be65cfc90bfa3ff.tar.gz
Merge branch 'master' of git://gitorious.org/dbus-cplusplus/mainline
-rw-r--r--include/dbus-c++/eventloop.h2
-rw-r--r--src/eventloop.cpp12
2 files changed, 11 insertions, 3 deletions
diff --git a/include/dbus-c++/eventloop.h b/include/dbus-c++/eventloop.h
index fa6728b..8ba6064 100644
--- a/include/dbus-c++/eventloop.h
+++ b/include/dbus-c++/eventloop.h
@@ -126,7 +126,7 @@ class DXXAPI DefaultMutex
{
public:
- DefaultMutex();
+ DefaultMutex(bool recursive = false);
~DefaultMutex();
diff --git a/src/eventloop.cpp b/src/eventloop.cpp
index d64197d..34ae2d1 100644
--- a/src/eventloop.cpp
+++ b/src/eventloop.cpp
@@ -75,9 +75,17 @@ DefaultWatch::~DefaultWatch()
_disp->_mutex_w.unlock();
}
-DefaultMutex::DefaultMutex()
+DefaultMutex::DefaultMutex(bool recursive)
{
- pthread_mutex_init(&_mutex, NULL);
+ if (recursive)
+ {
+ pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ _mutex = recmutex;
+ }
+ else
+ {
+ pthread_mutex_init(&_mutex, NULL);
+ }
}
DefaultMutex::~DefaultMutex()