Handle no async jobs in libssl
authorMatt Caswell <matt@openssl.org>
Tue, 3 May 2016 16:55:00 +0000 (17:55 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 5 May 2016 18:39:14 +0000 (19:39 +0100)
commitfc7f190c732729c1d0eb9dcdb7ff05ed6b06056f
treeb4b70753df865b62635b71b1ad177a1b0582a6d0
parent0eadff033fea00f1b9abe0a83bf0d6637690f085
Handle no async jobs in libssl

If the application has limited the size of the async pool using
ASYNC_init_thread() then we could run out of jobs while trying to start a
libssl io operation. However libssl was failing to handle this and treating
it like a fatal error. It should not be fatal...we just need to retry when
there are jobs available again.

Reviewed-by: Richard Levitte <levitte@openssl.org>
apps/s_client.c
apps/s_server.c
doc/ssl/SSL_get_error.pod
doc/ssl/SSL_want.pod
include/openssl/ssl.h
ssl/ssl_lib.c