path: root/ext/openssl/ossl_ssl.c
diff options
authorrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-21 20:26:26 +0000
committerrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-21 20:26:26 +0000
commit66fd565153d81f9c6b40ae598558f3b42d3acf8d (patch)
treec44d74ded4770ff8f13364224151682859f271e4 /ext/openssl/ossl_ssl.c
parent0fcac8f1a35b73713849db323c206fb4f9aeda5a (diff)
openssl: merge test fix from upstream
Merge a commit from upstream: d1cbf6d75280 test/test_ssl_session: skip tests for session_remove_cb Tests using SSL::SSLContext#session_remove_cb= are now skipped. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/ossl_ssl.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index 93fc497..32ae2df 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -2457,6 +2457,10 @@ Init_ossl_ssl(void)
* A callback invoked when a session is removed from the internal cache.
* The callback is invoked with an SSLContext and a Session.
+ *
+ * IMPORTANT NOTE: It is currently not possible to use this safely in a
+ * multi-threaded application. The callback is called inside a global lock
+ * and it can randomly cause deadlock on Ruby thread switching.
rb_attr(cSSLContext, rb_intern("session_remove_cb"), 1, 1, Qfalse);