changeset 197:6a033f90d8ea

Pass the EAGAIN error to GNUTLS
author Sebastien Decugis <sdecugis@nict.go.jp>
date Mon, 08 Feb 2010 18:35:51 +0900
parents bc530e9dae04
children 5ea550c3f033
files freeDiameter/cnxctx.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/freeDiameter/cnxctx.c	Mon Feb 08 18:10:04 2010 +0900
+++ b/freeDiameter/cnxctx.c	Mon Feb 08 18:35:51 2010 +0900
@@ -524,7 +524,6 @@
 			goto again;
 		}
 		CHECK_SYS_DO(ret, /* continue */);
-		return 0; /* so that the connection appears closed */
 	}
 	
 	return ret;
@@ -679,7 +678,8 @@
 
 				case GNUTLS_E_AGAIN:
 				case GNUTLS_E_INTERRUPTED:
-					goto again;
+					if (!conn->cc_closing)
+						goto again;
 
 				default:
 					TRACE_DEBUG(INFO, "This TLS error is not handled, assume unrecoverable error");
"Welcome to our mercurial repository"