HRESULT MV_CC_DSS_Exit(void)
{
	HRESULT res;

	if (pMV_APP_DSS == NULL)
		MV_CC_DBG_Error(E_NOTREADY, "MV_CC_DSS_Exit", NULL);

	MV_OSAL_Mutex_Lock(pMV_APP_DSS->m_hGSListMutex);

	res = MV_CC_DSS_GlobalServiceList_Exit();
	if (res != S_OK)
		MV_CC_DBG_Error(res, "MV_CC_DSS_Exit" \
		" MV_CC_DSS_GlobalServiceList_Exit", NULL);

	MV_OSAL_Mutex_Unlock(pMV_APP_DSS->m_hGSListMutex);

	MV_OSAL_Mutex_Destroy(&(pMV_APP_DSS->m_hGSListMutex));
	MV_OSAL_Mutex_Destroy(&(pMV_APP_DSS->m_SeqIDMutex));

	MV_OSAL_Free(pMV_APP_DSS);

	pMV_APP_DSS = NULL;

	return S_OK;
}
Пример #2
0
VOID MV_CC_DSS_GlobalServiceList_SrvInfo_Dtor(PVOID obj)
{
	if (obj)
	{
		MV_OSAL_Free(obj);
		obj = NULL;
	}
}