* 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
This commit is contained in:
nahi 2010-09-08 13:52:25 +00:00
parent bafa881327
commit 849c347833
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,10 @@
Wed Sep 8 22:46:31 2010 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* 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.
Wed Sep 8 20:56:57 2010 Tanaka Akira <akr@fsij.org>
* ext/pathname/pathname.c (path_setgid_p): Pathname#setgid? translated

View File

@ -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