]> git.eshelyaron.com Git - emacs.git/commitdiff
(emacs_gnutls_read): Don't infloop while reading.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 27 Sep 2010 15:03:58 +0000 (17:03 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 27 Sep 2010 15:03:58 +0000 (17:03 +0200)
src/ChangeLog
src/gnutls.c

index 85a623bed501df17523a862769dcd39d90e61b45..14177dbb6ea63f8ac0fdae90fd60c276b88c5634 100644 (file)
@@ -1,6 +1,7 @@
 2010-09-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnutls.c (gnutls_log_function): Added more debugging.
+       (emacs_gnutls_read): Don't infloop while reading.
 
 2010-09-27  Kenichi Handa  <handa@m17n.org>
 
index ff5383289846a6e0f356668b0f42845f1b5ea3ff..5d8a946fa9a78be22613ed318c9ff8e43e7fcfe7 100644 (file)
@@ -67,12 +67,11 @@ emacs_gnutls_read (int fildes, gnutls_session_t state, char *buf,
 {
   register int rtnval;
 
-  do {
-    rtnval = gnutls_read (state, buf, nbyte);
-  } while (rtnval == GNUTLS_E_INTERRUPTED || rtnval == GNUTLS_E_AGAIN);
-  fsync (STDOUT_FILENO);
-
-  return (rtnval);
+  rtnval = gnutls_read (state, buf, nbyte);
+  if (rtnval >= 0)
+    return rtnval;
+  else
+    return -1;
 }
 
 /* convert an integer error to a Lisp_Object; it will be either a
@@ -268,8 +267,8 @@ KEYFILE and optionally CALLBACK.  */)
 
   state = XPROCESS (proc)->gnutls_state;
 
-  gnutls_global_set_log_level(4);
-  gnutls_global_set_log_function(gnutls_log_function);
+  //gnutls_global_set_log_level(4);
+  //gnutls_global_set_log_function(gnutls_log_function);
   
   /* always initialize globals.  */
   global_init = gnutls_emacs_global_init ();