diff src/gnutls.c @ 111025:54ea07fb88fc

(emacs_gnutls_read): Return 0 if we get a non-"EAGAIN"-like error to signal to Emacs that the socket should be closed.
author Lars Magne Ingebrigtsen <larsi@gnus.org>
date Mon, 18 Oct 2010 22:32:54 +0200
parents 1ccdcdef34fc
children 6378d1b57038
line wrap: on
line diff
--- a/src/gnutls.c	Mon Oct 18 13:26:25 2010 -0400
+++ b/src/gnutls.c	Mon Oct 18 22:32:54 2010 +0200
@@ -125,8 +125,13 @@
   rtnval = gnutls_read (state, buf, nbyte);
   if (rtnval >= 0)
     return rtnval;
-  else
-    return -1;
+  else {
+    if (rtnval == GNUTLS_E_AGAIN ||
+	rtnval == GNUTLS_E_INTERRUPTED)
+      return -1;
+    else
+      return 0;
+  }
 }
 
 /* convert an integer error to a Lisp_Object; it will be either a