---
lib/coroipcc.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/coroipcc.c b/lib/coroipcc.c
index 34db980..c03925c 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,11 +885,11 @@ 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
*/
-
+
res = ipc_sem_post (ipc_instance->control_buffer,
SEMAPHORE_REQUEST_OR_FLUSH_OR_EXIT);
if (res != CS_OK) {
error = CS_ERR_LIBRARY;
--
1.7.4.4
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais