void CL_cURL_Cleanup(void) { if(clc.downloadCURLM) { CURLMcode result; if(clc.downloadCURL) { result = qcurl_multi_remove_handle(clc.downloadCURLM, clc.downloadCURL); if(result != CURLM_OK) { Com_DPrintf("qcurl_multi_remove_handle failed: %s\n", qcurl_multi_strerror(result)); } qcurl_easy_cleanup(clc.downloadCURL); } result = qcurl_multi_cleanup(clc.downloadCURLM); if(result != CURLM_OK) { Com_DPrintf("CL_cURL_Cleanup: qcurl_multi_cleanup failed: %s\n", qcurl_multi_strerror(result)); } clc.downloadCURLM = NULL; clc.downloadCURL = NULL; } else if(clc.downloadCURL) { qcurl_easy_cleanup(clc.downloadCURL); clc.downloadCURL = NULL; } }
void CL_cURL_Cleanup(void) { if(clc.curl.downloadCURLM) { if(clc.curl.downloadCURL) { qcurl_multi_remove_handle(clc.curl.downloadCURLM, clc.curl.downloadCURL); qcurl_easy_cleanup(clc.curl.downloadCURL); } qcurl_multi_cleanup(clc.curl.downloadCURLM); clc.curl.downloadCURLM = NULL; clc.curl.downloadCURL = NULL; } else if(clc.curl.downloadCURL) { qcurl_easy_cleanup(clc.curl.downloadCURL); clc.curl.downloadCURL = NULL; } }
void wswcurl_cleanup( void ) { if( !wswcurl_mempool ) return; while( http_requests ) { wswcurl_delete( http_requests ); } if( curldummy ) { qcurl_easy_cleanup( curldummy ); curldummy = NULL; } if( curlmulti ) { qcurl_multi_cleanup( curlmulti ); curlmulti = NULL; } QMutex_Destroy( &curldummy_mutex ); QMutex_Destroy( &http_requests_mutex ); #ifdef USE_OPENSSL if( cryptoLibrary ) { qCRYPTO_set_locking_callback( NULL ); if( crypto_num_mutexes && crypto_mutexes ) { int mutex_num; for( mutex_num = 0; mutex_num < crypto_num_mutexes; mutex_num++ ) QMutex_Destroy( &crypto_mutexes[mutex_num] ); WFREE( crypto_mutexes ); crypto_mutexes = NULL; } crypto_num_mutexes = 0; } #endif if( curlLibrary ) { qcurl_global_cleanup(); } wswcurl_unloadlib(); Mem_FreePool( &wswcurl_mempool ); }