emacs-devel
[Top][All Lists]
Advanced

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

Re: Nebulous streaming/point bug


From: Ted Zlatanov
Subject: Re: Nebulous streaming/point bug
Date: Tue, 22 Nov 2011 12:33:42 -0500
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

On Thu, 03 Nov 2011 21:20:32 +0100 Lars Magne Ingebrigtsen <address@hidden> 
wrote: 

LMI> Ted Zlatanov <address@hidden> writes:
>> Based on your patch I think it's a GnuTLS bug.  They are up to 3.x now,
>> which makes it harder: do we keep supporting the 2.x series or do we
>> start using 3.x, which will be harder to obtain because it's new,
>> especially for the W32 build?  I'd rather not support both and just move
>> to 3.x, which has a fairly compatible API, and see if the bug is still
>> there.  What do you think?

LMI> I think we should support both.  I really want normal Emacs 24.1 users
LMI> to have encrypted network connections by default.

Hrm.  OK, I'll do what I can, but I don't think I'll have the time to do
this work in the next few months.

>> Obviously all this would happen after the release; for now I think it's
>> best to use your patch and note it's temporary.

LMI> If people think the approach is halfway sane, I can clean up the patch
LMI> and apply, but I'd love to have some feedback first.

LMI> To recap:

LMI> Some versions of libgnutls do not seem to work well with select.  That
LMI> is, they don't say that there's anything there even though there is.

LMI> So the idle loop, which does a select on all the file descriptors don't
LMI> get (all) the data from gnutls sockets.  My "fix" is to loop through all
LMI> the channels, see whether they are gnutls sockets, and then calling
LMI> emacs_gnutls_record_check_pending on each one.

LMI> Since this is done in the idle loop, it's typically done once every
LMI> second or so, apparently.  So the performance hit should be negligible.

LMI> The loop looks like this:

LMI> for (channel = 0; channel < MAXDESC; ++channel)
LMI>   if (! NILP (chan_process[channel]))
LMI>      ... do stuff

LMI> But it's an ugly hack.

LMI> So: Add the hack or not?

I'm in favor, if the GnuTLS devs agree.  They should know best if this
is a bug or we're using it badly.

Ted




reply via email to

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