summaryrefslogtreecommitdiff
path: root/ext/openssl
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-08 13:52:25 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-08 13:52:25 +0000
commit849c34783334c3a49e015aa9b5e260c52bd6a53d (patch)
tree5c804b965be390500c5b7e61c34e9f7113cd19c5 /ext/openssl
parentbafa881327f7de02f756e526e35ed78ffd051011 (diff)
* ext/openssl/ossl_ssl.c (ssl_get_error): Thread context switch was
blocked on Windows while blocking call for SSLSocket. Need to convert errno for letting rb_io_wait_readable detect EWOULDBLOCK. Patch by arton. ref #3794. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl')
-rw-r--r--ext/openssl/ossl_ssl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index 793d5a65fd..a690202258 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -1018,7 +1018,7 @@ ossl_ssl_setup(VALUE self)
}
#ifdef _WIN32
-#define ssl_get_error(ssl, ret) (errno = WSAGetLastError(), SSL_get_error(ssl, ret))
+#define ssl_get_error(ssl, ret) (errno = rb_w32_map_errno(WSAGetLastError()), SSL_get_error(ssl, ret))
#else
#define ssl_get_error(ssl, ret) SSL_get_error(ssl, ret)
#endif