---
lib/coroipcc.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/lib/coroipcc.c b/lib/coroipcc.c
index 34db980..6fe70e3 100644
--- a/lib/coroipcc.c
+++ b/lib/coroipcc.c
@@ -872,6 +872,13 @@ coroipcc_dispatch_get (
}
error = socket_recv (ipc_instance->fd, &buf, 1);
+#if defined(COROSYNC_SOLARIS) || defined(COROSYNC_BSD) ||
defined(COROSYNC_DARWIN)
+ /* On many OS poll() never returns POLLHUP or POLLERR.
+ * EOF is detected when recvmsg() return 0.
+ */
+ if ( error == CS_ERR_LIBRARY )
+ goto error_put;
+#endif
assert (error == CS_OK);
if (shared_mem_dispatch_bytes_left (ipc_instance) > 500000) {
--
1.7.4.4
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais