Ryan pointed out missing mutex calls in the ckpt service.  Patch
attached.

Index: lib/ckpt.c
===================================================================
--- lib/ckpt.c	(revision 1720)
+++ lib/ckpt.c	(working copy)
@@ -615,6 +615,8 @@
 	iov.iov_base = &req_lib_ckpt_checkpointopen;
 	iov.iov_len = sizeof (struct req_lib_ckpt_checkpointopen);
 
+	pthread_mutex_lock (&ckptInstance->response_mutex);
+
 	error = cslib_msg_send_reply_receive (
 		ckptInstance->ipc_ctx,
 		&iov,
@@ -622,6 +624,8 @@
 		&res_lib_ckpt_checkpointopen,
 		sizeof (struct res_lib_ckpt_checkpointopen));
 
+	pthread_mutex_unlock (&ckptInstance->response_mutex);
+
 	if (res_lib_ckpt_checkpointopen.header.error != SA_AIS_OK) {
 		error = res_lib_ckpt_checkpointopen.header.error;
 		goto error_put_destroy;
@@ -744,6 +748,8 @@
 	iov.iov_base = &req_lib_ckpt_checkpointopen;
 	iov.iov_len = sizeof (struct req_lib_ckpt_checkpointopen);
 
+	pthread_mutex_lock (&ckptInstance->response_mutex);
+
 	error = cslib_msg_send_reply_receive (
 		ckptInstance->ipc_ctx,
 		&iov,
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to