void netconn_unload( void ) { #if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO) if (libcrypto_handle) { pERR_free_strings(); wine_dlclose( libcrypto_handle, NULL, 0 ); } if (libssl_handle) { if (ctx) pSSL_CTX_free( ctx ); wine_dlclose( libssl_handle, NULL, 0 ); } if (ssl_locks) { int i; for (i = 0; i < num_ssl_locks; i++) { ssl_locks[i].DebugInfo->Spare[0] = 0; DeleteCriticalSection( &ssl_locks[i] ); } HeapFree( GetProcessHeap(), 0, ssl_locks ); } DeleteCriticalSection(&init_ssl_cs); #endif #ifndef HAVE_GETADDRINFO DeleteCriticalSection(&cs_gethostbyname); #endif }
void NETCON_unload(void) { #if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO) if (OpenSSL_crypto_handle) { pERR_free_strings(); wine_dlclose(OpenSSL_crypto_handle, NULL, 0); } if (OpenSSL_ssl_handle) { if (ctx) pSSL_CTX_free(ctx); wine_dlclose(OpenSSL_ssl_handle, NULL, 0); } if (ssl_locks) { int i; for (i = 0; i < num_ssl_locks; i++) { ssl_locks[i].DebugInfo->Spare[0] = 0; DeleteCriticalSection(&ssl_locks[i]); } heap_free(ssl_locks); } #endif }
void netconn_unload( void ) { #if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO) if (libcrypto_handle) { pERR_free_strings(); wine_dlclose( libcrypto_handle, NULL, 0 ); } if (libssl_handle) { if (ctx) pSSL_CTX_free( ctx ); wine_dlclose( libssl_handle, NULL, 0 ); } if (ssl_locks) { int i; for (i = 0; i < num_ssl_locks; i++) DeleteCriticalSection( &ssl_locks[i] ); HeapFree( GetProcessHeap(), 0, ssl_locks ); } #endif }