MCPcopy Create free account
hub / github.com/corosync/corosync / sam_finalize

Function sam_finalize

lib/sam.c:724–757  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

722}
723
724cs_error_t sam_finalize (void)
725{
726 cs_error_t ret;
727
728 ret = CS_OK;
729
730 pthread_mutex_lock (&sam_internal_data.lock);
731
732 if (sam_internal_data.internal_status != SAM_INTERNAL_STATUS_INITIALIZED &&
733 sam_internal_data.internal_status != SAM_INTERNAL_STATUS_REGISTERED &&
734 sam_internal_data.internal_status != SAM_INTERNAL_STATUS_STARTED) {
735 ret = CS_ERR_BAD_HANDLE;
736 goto exit_mutex_unlock;
737 }
738
739 if (sam_internal_data.internal_status == SAM_INTERNAL_STATUS_STARTED) {
740 ret = sam_stop_nolock ();
741 if (ret != CS_OK) {
742 goto exit_mutex_unlock;
743 }
744 }
745
746 sam_internal_data.internal_status = SAM_INTERNAL_STATUS_FINALIZED;
747
748 free (sam_internal_data.user_data);
749 sam_internal_data.user_data = NULL;
750 sam_internal_data.user_data_allocated = 0;
751 sam_internal_data.user_data_size = 0;
752
753exit_mutex_unlock:
754 pthread_mutex_unlock (&sam_internal_data.lock);
755
756 return (ret);
757}
758
759cs_error_t sam_mark_failed (void)
760{

Callers 4

test_basicsFunction · 0.85
test_finalize_deadlockFunction · 0.85
run_testFunction · 0.85
run_cmap_testFunction · 0.85

Calls 1

sam_stop_nolockFunction · 0.85

Tested by 4

test_basicsFunction · 0.68
test_finalize_deadlockFunction · 0.68
run_testFunction · 0.68
run_cmap_testFunction · 0.68