diff options
author | Andreas Volz <andreas@optolix.mittelerde> | 2009-12-01 23:32:21 +0100 |
---|---|---|
committer | Andreas Volz <andreas@optolix.mittelerde> | 2009-12-01 23:32:21 +0100 |
commit | 5ae444ff224d11c8ce535ffb1be65cfc90bfa3ff (patch) | |
tree | 6a05fb80c2242c01060fa6c0fd933b7bd17d2c98 | |
parent | c505052353b6338e5cdd73133bd45aee2f8cf1de (diff) | |
parent | 676d6225d4e9490357505af1a60dcde18ba3f894 (diff) | |
download | dbus-c++-5ae444ff224d11c8ce535ffb1be65cfc90bfa3ff.tar.gz |
Merge branch 'master' of git://gitorious.org/dbus-cplusplus/mainline
-rw-r--r-- | include/dbus-c++/eventloop.h | 2 | ||||
-rw-r--r-- | src/eventloop.cpp | 12 |
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() |