From 849c34783334c3a49e015aa9b5e260c52bd6a53d Mon Sep 17 00:00:00 2001 From: nahi Date: Wed, 8 Sep 2010 13:52:25 +0000 Subject: * 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 --- ext/openssl/ossl_ssl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ext') 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 -- cgit v1.2.3