Merge branch 'master' into cairocanvas
[ardour.git] / libs / pbd / pbd / signals.h
index dc53b31f94422047a1865ce8d01626c6a8b8f81a..140ea014e8040d3431c0f47aaa78dcb0ac4ff584 100644 (file)
 #define __pbd_signals_h__
 
 #include <list>
-#include <glibmm/thread.h>
+#include <map>
+
+#ifdef nil
+#undef nil
+#endif
+
+#include <glibmm/threads.h>
 
 #include <boost/noncopyable.hpp>
 #include <boost/bind.hpp>
 #include <boost/bind/protect.hpp>
 #include <boost/function.hpp>
-#include <boost/thread/mutex.hpp>
 #include <boost/enable_shared_from_this.hpp>
 #include <boost/optional.hpp>
 
@@ -44,7 +49,7 @@ public:
        virtual void disconnect (boost::shared_ptr<Connection>) = 0;
 
 protected:
-       boost::mutex _mutex;
+        Glib::Threads::Mutex _mutex;
 };
 
 class Connection : public boost::enable_shared_from_this<Connection>
@@ -54,7 +59,7 @@ public:
 
        void disconnect ()
        {
-               boost::mutex::scoped_lock lm (_mutex);
+               Glib::Threads::Mutex::Lock lm (_mutex);
                if (_signal) {
                        _signal->disconnect (shared_from_this ());
                        _signal = 0;
@@ -63,12 +68,12 @@ public:
 
        void signal_going_away ()
        {
-               boost::mutex::scoped_lock lm (_mutex);
+               Glib::Threads::Mutex::Lock lm (_mutex);
                _signal = 0;
        }
 
 private:
-       boost::mutex _mutex;
+        Glib::Threads::Mutex _mutex;
        SignalBase* _signal;
 };
 
@@ -147,7 +152,7 @@ class ScopedConnectionList  : public boost::noncopyable
               one from another.
         */
 
-       Glib::Mutex _lock;
+       Glib::Threads::Mutex _lock;
 
        typedef std::list<ScopedConnection*> ConnectionList;
        ConnectionList _list;