diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-13 16:57:04 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-13 16:57:04 -0400 |
commit | 6542ce76d0740ccd505fd9326a7a4b2d737af663 (patch) | |
tree | 7b1540156346a3d67ae242da4ef033dae3f7c377 | |
parent | 1fd2412f5be9a96e5015f81d5c89d88ce730f9c1 (diff) |
Don't use trylock in assertions on windows as it will fail
glib uses TryEnterCriticalSection on windows which will return true
if the lock as able to be locked *or* is already locked by the current
thread.
-rw-r--r-- | libs/ardour/io.cc | 6 | ||||
-rw-r--r-- | libs/ardour/port_insert.cc | 2 | ||||
-rw-r--r-- | libs/ardour/route.cc | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index cdb8a4693c..4e080b06d8 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -395,7 +395,9 @@ IO::disconnect (void* src) int IO::ensure_ports_locked (ChanCount count, bool clear, bool& changed) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif boost::shared_ptr<Port> port; @@ -466,7 +468,9 @@ IO::ensure_ports_locked (ChanCount count, bool clear, bool& changed) int IO::ensure_ports (ChanCount count, bool clear, void* src) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif bool changed = false; @@ -501,7 +505,9 @@ IO::ensure_ports (ChanCount count, bool clear, void* src) int IO::ensure_io (ChanCount count, bool clear, void* src) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif return ensure_ports (count, clear, src); } diff --git a/libs/ardour/port_insert.cc b/libs/ardour/port_insert.cc index c13927449a..cf33f1b932 100644 --- a/libs/ardour/port_insert.cc +++ b/libs/ardour/port_insert.cc @@ -250,7 +250,9 @@ PortInsert::signal_latency() const bool PortInsert::configure_io (ChanCount in, ChanCount out) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif /* for an insert, processor input corresponds to IO output, and vice versa */ diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index e87cb4b03f..c6f588a79c 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1612,7 +1612,9 @@ Route::reset_instrument_info () int Route::configure_processors (ProcessorStreams* err) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif if (!_in_configure_processors) { Glib::Threads::RWLock::WriterLock lm (_processor_lock); @@ -1682,7 +1684,9 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err) int Route::configure_processors_unlocked (ProcessorStreams* err) { +#ifndef WIN32 assert (!AudioEngine::instance()->process_lock().trylock()); +#endif if (_in_configure_processors) { return 0; |