emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nebulous streaming/point bug


From: Lars Magne Ingebrigtsen
Subject: Re: Nebulous streaming/point bug
Date: Thu, 13 Oct 2011 03:04:53 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

Yup.  Looks like the problem was where I thought it would be.

Now, I obviously don't recommend the horror included below as a patch,
but it seems to make it possible to read news with Gnus again under
Emacs 24.  But it should be fixed in a different way.  :-)

I'm not familiar enough with GnuTLS internals to say what the fix really
should be, but I can test patches.

=== modified file 'src/process.c'
--- src/process.c       2011-09-09 01:06:52 +0000
+++ src/process.c       2011-10-13 01:01:35 +0000
@@ -4612,6 +4612,23 @@
              some data in the TCP buffers so that select works, but
              with custom pull/push functions we need to check if some
              data is available in the buffers manually.  */
+          if (nfds == 0)
+           {
+             for (channel = 0; channel < MAXDESC; ++channel)
+               {
+                 if (! NILP (chan_process[channel]))
+                   {
+                     struct Lisp_Process *proc = XPROCESS 
(chan_process[channel]);
+                     if (proc && proc->gnutls_p &&
+                         proc->infd &&
+                         emacs_gnutls_record_check_pending 
(proc->gnutls_state) > 0)
+                       {
+                         nfds++;
+                         FD_SET (proc->infd, &Available);
+                       }
+                   }
+               }
+           }
           if (nfds == 0 &&
               wait_proc && wait_proc->gnutls_p /* Check for valid process.  */
               /* Do we have pending data?  */


-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]