Просмотр исходного кода

Fix value returned by lib/coroipcc_dispatch_get() in case recv() fails

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2386 fd59a12c-fef9-0310-b244-a6a79926bd2f
Jrme Flesch 16 лет назад
Родитель
Сommit
bfb965554c
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      lib/coroipcc.c

+ 4 - 1
lib/coroipcc.c

@@ -827,13 +827,16 @@ coroipcc_dispatch_get (
 
 	res = recv (ipc_instance->fd, &buf, 1, 0);
 	if (res == -1 && errno == EINTR) {
-		res = CS_ERR_TRY_AGAIN;
+		error = CS_ERR_TRY_AGAIN;
 		goto error_put;
 	} else
 	if (res == -1) {
 		goto error_put;
 	}
 	if (res == 0) {
+#if defined(COROSYNC_BSD) || defined(COROSYNC_DARWIN)
+		error = CS_ERR_LIBRARY;
+#endif
 		goto error_put;
 	}
 	ipc_instance->flow_control_state = 0;