Răsfoiți Sursa

Check socket_recv error code in ipc_dispatch_get

Also do not assert on error.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Jan Friesse 13 ani în urmă
părinte
comite
694a9c2cf0
1 a modificat fișierele cu 2 adăugiri și 7 ștergeri
  1. 2 7
      lib/coroipcc.c

+ 2 - 7
lib/coroipcc.c

@@ -908,14 +908,9 @@ 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 )
+	if (error != CS_OK) {
 		goto error_put;
-#endif
-	assert (error == CS_OK);
+	}
 
 	if (shared_mem_dispatch_bytes_left (ipc_instance) > (ipc_instance->dispatch_size/2)) {
 		/*