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