Which version of OpenSSL is this?  I wonder if OpenSSL is not returning
SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE properly when it sees
EWOULDBLOCK.

Assuming OpenSSL returns SSL_ERROR_WANT_* properly, I'm not seeing
where we can even raise EAGAIN/EWOULDBLOCK from ext/openssl/ossl_ssl.c