summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-07-13 16:57:04 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-07-13 16:57:04 -0400
commit6542ce76d0740ccd505fd9326a7a4b2d737af663 (patch)
tree7b1540156346a3d67ae242da4ef033dae3f7c377
parent1fd2412f5be9a96e5015f81d5c89d88ce730f9c1 (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.cc6
-rw-r--r--libs/ardour/port_insert.cc2
-rw-r--r--libs/ardour/route.cc4
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;