SSL_read() returning SSL_ERROR_SYSCALL with errno 11 EAGAIN

Viktor Dukhovni openssl-users at dukhovni.org
Fri May 3 22:04:05 UTC 2019


On Fri, May 03, 2019 at 09:34:14AM +0000, John Unsworth wrote:

> Testing changed code.

For the record, though I think you realise this, *both* the SSL_read()
or SSL_write() and the following SSL_get_error() need to be protected
as a unit by the *same* instance of the locked mutex.  It would not
be enough to lock these separately.

    acquire_lock();
	if (reading)
	    ret = SSL_read(ssl, ...); 
	else
            ret = SSL_write(ssl, ...);
	if (ret <= 0)
	    err = SSL_get_error(ssl, ret);
    release_lock();

    /* Handle EOF and errors */

-- 
	Viktor.


More information about the openssl-users mailing list