summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/butler.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/libs/ardour/butler.cc b/libs/ardour/butler.cc
index cd00965062..a89e8295d2 100644
--- a/libs/ardour/butler.cc
+++ b/libs/ardour/butler.cc
@@ -328,7 +328,19 @@ void
Butler::queue_request (Request::Type r)
{
char c = r;
- _xthread.deliver (c);
+ if (_xthread.deliver (c) != 1) {
+ /* the x-thread channel is non-blocking
+ * write may fail, but we really don't want to wait
+ * under normal circumstances.
+ *
+ * a lost "run" requests under normal RT operation
+ * is mostly harmless.
+ *
+ * TODO if ardour is freehweeling, wait & retry.
+ * ditto for Request::Type Quit
+ */
+ assert(1); // we're screwd
+ }
}
void