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

defect 840
J Seltzer reported that closed checkpoints in the TRY_AGAIN state are not
closed in the executive but are closed in the library. This patch fixes
that problem.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@806 fd59a12c-fef9-0310-b244-a6a79926bd2f

Steven Dake 20 лет назад
Родитель
Сommit
ac4635563b
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      lib/ckpt.c

+ 5 - 1
lib/ckpt.c

@@ -816,7 +816,11 @@ saCkptCheckpointClose (
 	error = saRecvRetry (ckptCheckpointInstance->response_fd, &res_lib_ckpt_checkpointclose,
 		sizeof (struct res_lib_ckpt_checkpointclose), MSG_WAITALL | MSG_NOSIGNAL);
 
-	ckptCheckpointInstanceFinalize (ckptCheckpointInstance);
+	error == SA_AIS_OK ? res_lib_ckpt_checkpointclose.header.error : error;
+
+	if (error == SA_AIS_OK) {
+		ckptCheckpointInstanceFinalize (ckptCheckpointInstance);
+	}
 
 exit_put:
 	saHandleInstancePut (&checkpointHandleDatabase, checkpointHandle);