ERR_remove_state is deprecated, use ERR_remove_thread_state instead.
diff --git a/asio/include/asio/ssl/detail/impl/openssl_init.ipp b/asio/include/asio/ssl/detail/impl/openssl_init.ipp index 2c40d40..da66fc1 100644 --- a/asio/include/asio/ssl/detail/impl/openssl_init.ipp +++ b/asio/include/asio/ssl/detail/impl/openssl_init.ipp
@@ -63,7 +63,11 @@ ::CRYPTO_set_id_callback(0); ::CRYPTO_set_locking_callback(0); ::ERR_free_strings(); +#if (OPENSSL_VERSION_NUMBER >= 0x10000000L) + ::ERR_remove_thread_state(NULL); +#else // (OPENSSL_VERSION_NUMBER >= 0x10000000L) ::ERR_remove_state(0); +#endif // (OPENSSL_VERSION_NUMBER >= 0x10000000L) ::EVP_cleanup(); ::CRYPTO_cleanup_all_ex_data(); ::CONF_modules_unload(1);