diff options
author | Andreas Volz <andreas@frodo.mittelerde> | 2009-11-29 17:37:17 +0100 |
---|---|---|
committer | Andreas Volz <andreas@frodo.mittelerde> | 2009-11-29 17:37:17 +0100 |
commit | 676d6225d4e9490357505af1a60dcde18ba3f894 (patch) | |
tree | 42a23825b46b9d0f56fc94987495599e1cbd534c | |
parent | e23c8c47503fc6a24886173e233355414975cb67 (diff) | |
download | dbus-c++-676d6225d4e9490357505af1a60dcde18ba3f894.tar.gz |
patch from "Freyensee, James P" <james.p.freyensee@intel.com>, but default is old implementation
-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() |