#include <map>
#include <string>
-#include <pthread.h>
-
-#include <pbd/atomic.h>
#include <pbd/fastlog.h>
-#include <pbd/lockmonitor.h>
+#include <glibmm/thread.h>
#include <pbd/xml++.h>
#include <pbd/undo.h>
#include <midi++/controllable.h>
void flush_redirects ();
template<class T> void foreach_redirect (T *obj, void (T::*func)(Redirect *)) {
- RWLockMonitor lm (redirect_lock, false, __LINE__, __FILE__);
+ Glib::RWLock::ReaderLock lm (redirect_lock);
for (RedirectList::iterator i = _redirects.begin(); i != _redirects.end(); ++i) {
(obj->*func) (*i);
}
}
Redirect *nth_redirect (uint32_t n) {
- RWLockMonitor lm (redirect_lock, false, __LINE__, __FILE__);
+ Glib::RWLock::ReaderLock lm (redirect_lock);
RedirectList::iterator i;
for (i = _redirects.begin(); i != _redirects.end() && n; ++i, --n);
if (i == _redirects.end()) {
jack_nframes_t _roll_delay;
jack_nframes_t _own_latency;
RedirectList _redirects;
- PBD::NonBlockingRWLock redirect_lock;
+ Glib::RWLock redirect_lock;
IO *_control_outs;
- PBD::NonBlockingLock control_outs_lock;
+ Glib::Mutex control_outs_lock;
RouteGroup *_edit_group;
RouteGroup *_mix_group;
std::string _comment;