leave a ToDo note for the butler.
authorRobin Gareus <robin@gareus.org>
Mon, 2 Mar 2015 22:13:19 +0000 (23:13 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 2 Mar 2015 22:13:19 +0000 (23:13 +0100)
libs/ardour/butler.cc

index cd009650625220be4e9998eea8adf5e15c6bca7e..a89e8295d282944723d733d6dc236973ab59c1ad 100644 (file)
@@ -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