diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-08-20 10:47:48 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-08-20 10:47:48 +0200 |
commit | 0dd016245762d9e0c3b15cc3237ca67d49f2bb40 (patch) | |
tree | f59bd5f396b38f84c29ca2bc4ccec6d64a3cdc9e | |
parent | 4475463407f2002c916330122cf640889ec696aa (diff) | |
download | gnutls-0dd016245762d9e0c3b15cc3237ca67d49f2bb40.tar.gz |
Added hack for AIX systems that may not set errno property on EAGAIN.
-rw-r--r-- | lib/gnutls_buffers.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c index 5478b3ffa4..1956c333cb 100644 --- a/lib/gnutls_buffers.c +++ b/lib/gnutls_buffers.c @@ -137,11 +137,17 @@ reset_errno (gnutls_session_t session) inline static int get_errno (gnutls_session_t session) { +int ret; + if (session->internals.errnum != 0) - return session->internals.errnum; + ret = session->internals.errnum; else - return session->internals.errno_func (session-> + ret = session->internals.errno_func (session-> internals.transport_recv_ptr); +#if defined(_AIX) || defined(AIX) + if (ret == 0) ret = EAGAIN; +#endif + return ret; } |