[IRCServices] Patch: Flush write buffer on connect
Andrew Church
achurch at achurch.org
Fri Nov 21 11:48:08 PST 2008
Sorry, I'm busy with work at the moment and don't have the time to
investigate the issue in detail. I'll take a closer look when I do
have time.
--Andrew Church
achurch at achurch.org
http://achurch.org/
>Hi all!
>
>Any comments to this patch?
>
>Regards
>Alex
>
>Am 11.11.2008 18:14, Alexander Barton schrieb:
>
>> Hi!
>>
>> The attached patch fixes the problem that IRCServices don't flush the
>> write buffer when the connection to the server is establised and data
>> has already been written to the buffer.
>>
>> This caused the server to disconnect IRCServices after a timeout
>> because of no data has been sent. Solution has been to send
>> IRCServices a HUP signal right after starting it. I was able to
>> reproduce this problem on all of my machines (Linux on HPPA, Linux on
>> amd64, and Mac OS X on i386).
>>
>> I think these messages describe the same problem:
>> <http://lists.ircservices.za.net/pipermail/ircservices/2007/005283.html>
>> <http://lists.ircservices.za.net/pipermail/ircservices/2007/005288.html>
>> <http://lists.ircservices.za.net/pipermail/ircservices/2007/005318.html>
>> <http://lists.ircservices.za.net/pipermail/ircservices/2007/005319.html>
>> <http://lists.ircservices.za.net/pipermail/ircservices/2007/005287.html>
>>
>> Regards
>> Alex
>>
>>
>> diff -rup ircservices-5.1.13-orig/sockets.c ircservices-5.1.13/sockets.c
>> --- ircservices-5.1.13-orig/sockets.c 2008-11-07 18:11:57.000000000
>> +0100
>> +++ ircservices-5.1.13/sockets.c 2008-11-09 15:53:35.000000000 +0100
>> @@ -691,6 +691,10 @@ void check_sockets(void)
>> }
>> s->flags &= ~SF_CONNECTING;
>> s->flags |= SF_CONNECTED;
>> +
>> + /* Flush already cached data for this socket */
>> + flush_write_buffer(s);
>> +
>> FD_CLR(i, &write_fds);
>> if (!(s->flags & SF_MUTE))
>> FD_SET(i, &sock_fds);
>>
>
>
>------------------------------------------------------------------
>To unsubscribe or change your subscription options, visit:
>http://lists.ircservices.za.net/mailman/listinfo/ircservices