The man page for SSL_get_error() lists the SSL_* functions it can be used
with, and it doesn't mention SSL_shutdown().

On the other hand, the man page for SSL_shutdown() says that for
non-blocking I/O, you should call SSL_get_error().

So which is right?

I ask, because in the following code:

    ret = SSL_shutdown(ssl);
    ssl_err = SSL_get_error(ssl, ret);

I'm getting ret = 0, ssl_err = 5 (SSL_ERROR_SYSCALL).
This is using a bio_pair, where my own code handles the underlying reads
and writes (all single threaded), so SSL_shutdown() shouldn't be doing any
system calls (and indeed strace shows that it isn't). So I'm confused.

-- 
The crew of the Enterprise encounter an alien life form which is
surprisingly neither humanoid nor made from pure energy.
    -- Things That Never Happen in "Star Trek" #22
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to