An ecore loop based libpurple client...

"Marco Trevisan (Treviño)" mail at
Wed Apr 15 13:10:46 EDT 2009

Marco Trevisan (Treviño) wrote:
> Ka-Hing Cheung wrote:
>> On Wed, 2009-04-15 at 02:29 +0200, "Marco Trevisan (Treviño)" wrote:
>>> Just for reference I'm posting here the last lines of the debug log that
>>> I get when using this method with my primary account: [1].
>>> (02:20:48) msn: C: NS 000: ADL 12 2026
>>> (02:20:48) msn: C: NS 000: PRP 13 MFN Trevi%c3%b1o%20%40%20www%2e3v1n0%2enet
>>> Removing fd 10
>>> Removing fd 13
>> Looks like you are not receiving the response for the 2 commands, which
>> smells like either a bug in ecore or the way you use ecore that causes
>> read notification to stop working.
> However the strange thing is that if I use another account (with few
> contacts) or I run my client with purple debug enabled in valgrind, this
> issue goes away!

Well, It seems that this was a my fault :P

On the first days of the development I found that the only way to
complete the connection was not to create a new fd handler if the client
was asked for one already in use, but using the previous one (also adium
seems to do this).
After implementing this I was able to connect, but... Not with my
account using the "pure" MSN protocol (I mean, without using the

Now I've reverted the patch I did, and you know what? The client
connects correctly to all the protocols I've tested and with all the
accounts. I neither get any error or segmentation fault.

You can find attached what I think can be hopefully considered the
"final version" with the patch against the previous version.

If you'd like to include this client in the libpurple sources as a test
client, I can prepare a patch.

Bye and thanks for your advices.

Treviño's World - Life and Linux
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nullclient-ecore.c
Type: text/x-csrc
Size: 10647 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nullclient-ecore-fd-add-fix.patch
Type: text/x-diff
Size: 1420 bytes
Desc: not available
URL: <>

More information about the Devel mailing list