All of the services in whitetank have a pthread_mutex_destroy which is
executed at the wrong time in the finalize calls.  Instead this call
should occur within the destructor function.  It was already there but
apparently was also added to the other functions.

On linux I believe this is a noop but other platforms would result in
double frees and other library errors.

Regards
-steve
Index: ckpt.c
===================================================================
--- ckpt.c	(revision 1506)
+++ ckpt.c	(working copy)
@@ -200,8 +200,6 @@
 
 	saHandleDestroy (&ckptSectionIterationHandleDatabase,
 		ckptSectionIterationInstance->sectionIterationHandle);
-
-	pthread_mutex_destroy (&ckptSectionIterationInstance->response_mutex);
 }
 
 static void ckptCheckpointInstanceFinalize (struct ckptCheckpointInstance *ckptCheckpointInstance)
@@ -225,8 +223,6 @@
 	list_del (&ckptCheckpointInstance->list);
 
 	saHandleDestroy (&checkpointHandleDatabase, ckptCheckpointInstance->checkpointHandle);
-
-	pthread_mutex_destroy (&ckptCheckpointInstance->response_mutex);
 }
 
 static void ckptInstanceFinalize (struct ckptInstance *ckptInstance)
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to