How to handle OpenSSL SSL_ERROR_WANT_READ / WANT_WRITE on non-blocking sockets

With non-blocking sockets, SSL_WANT_READ means “wait for the socket to be readable, then call this function again.”; conversely, SSL_WANT_WRITE means “wait for the socket to be writeable, then call this function again.”. You can get either SSL_WANT_WRITE or SSL_WANT_READ from both an SSL_read() or SSL_write() call.

Leave a Comment