From: Jerome Flesch <[email protected]>

---
 lib/coroipcc.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/lib/coroipcc.c b/lib/coroipcc.c
index 34db980..9640e1a 100644
--- a/lib/coroipcc.c
+++ b/lib/coroipcc.c
@@ -847,6 +847,17 @@ coroipcc_dispatch_get (
                return (error);
        }
 
+       if (shared_mem_dispatch_bytes_left (ipc_instance) > 
(ipc_instance->dispatch_size/2)) {
+               /*
+                * Notify coroipcs to flush any pending dispatch messages
+                */
+               res = ipc_sem_post (ipc_instance->control_buffer, 
SEMAPHORE_REQUEST_OR_FLUSH_OR_EXIT);
+               if (res != CS_OK) {
+                       error = CS_ERR_LIBRARY;
+                       goto error_put;
+               }
+       }
+
        *data = NULL;
 
        ufds.fd = ipc_instance->fd;
@@ -874,7 +885,7 @@ coroipcc_dispatch_get (
        error = socket_recv (ipc_instance->fd, &buf, 1);
        assert (error == CS_OK);
 
-       if (shared_mem_dispatch_bytes_left (ipc_instance) > 500000) {
+       if (shared_mem_dispatch_bytes_left (ipc_instance) > 
(ipc_instance->dispatch_size/2)) {
                /*
                 * Notify coroipcs to flush any pending dispatch messages
                 */
-- 
1.7.4.4

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to