Pidgin freezes when XMPP server silently disappears
Elliott Sales de Andrade
quantum.analyst at gmail.com
Sun Jul 20 21:51:35 EDT 2008
On Sun, Jul 20, 2008 at 9:42 AM, Bron Gondwana <brong at fastmail.fm> wrote:
> I'm currently fiddling with Djabberd, and restarting the server
> quite frequently as I test out new code.
> Each time, Pidgin freezes for quite a few seconds (haven't
> calculated exactly) - the interface just plain freezes, nothing
> works, the buddy list doesn't redraw.
> It looks to me like something is failing to check for disconnection
> and blindly leaving the POLLIN on an fd (14 and 15 in this case - I
> have two different accounts on the same testing server) after
> consuming (or failing to consume) an EOF notification on that socket.
There was a recent commit made that should fix this:
Only check for EAGAIN if read returned less than 0. This fixes a bug
where the recv callback function would get called continuously if the
server closed our connection and errno happened to be set to EAGAIN.
More information about the Devel