An ecore loop based libpurple client...

"Marco Trevisan (Treviño)" mail at
Thu Apr 9 23:49:18 EDT 2009

Ethan Blanton wrote:
> "Marco Trevisan (Treviño)" spake unto us the following wisdom:
>> Hello, I'm posting here what I've already posted in enlightenment-devel
>> since we're still looking for a solution for getting a libpurple client
>> to work with ecore (that would allow to write an EFL GUI around it).
> Great!  We're always excited to see new UIs and new opportunities for
> libpurple.  :-)


> This sounds like a race condition.  Both gdb and stdio stderr (used by
> purple_debug) often cause serializaton of actions in a threaded
> environment.  It looked to me from a brief glance through your code
> that you're not using threads, but is it possible that ecore is using
> threads behind your back?

No, it wasn't (also because ecore doesn't use threads)... It was just a
bug in ecore that now seems to be fixed. It practically aborted in some
situations that aren't fatal at all.

After that ecore modification (available since its svn commit r39913),
the mentioned bug was fixed.

However during those days I've also fixed any other bug and now the
client (look at the attachment!) seems to work without any segmentation
fault, abort or any other error, however my connection troubles aren't
over yet. :/

I'll re-post here the tests results that I've just posted in e-devel [1]:
 - Using the "prpl-msn" protocol in HTTP mode I was always able to
   connect, get messages, notifications and so on.

 - Using the "purple-jabber" protocol (Google Talk) I was always able
   to connect, get messages, notifications and so on.

 - Using the "prpl-msn" in standard mode (so, like this client generally
   does) with my account (that is a very "heavy" one since I've to load
   something like 450 contacts) I can connect, load contacts and so on
   but I really I can sign-in in the server (I mean that I'm visible to
   others and I get notification/messages) only if I run the client in
   valgrind and with libpurple debug enabled! Yes, this is so weird as
   it seems!
   I only once was able to connect to it running it in the normal way...
   Nevertheless, the "valgrind+debug" way seems to work always! :|

 - Using the "prpl-msn" in standard mode with some other MSN accounts
   which count less contacts (yes, I know, I've to contacts! :D), both
   the "standard" and the HTTP connection methods work as expected.

So actually I don't know where's the "bug", I only know that it has a
very strange behavior and that it doesn't happen using the glib
nullclient. Nevertheless this code is quite ready for being used.

So, please, if you have any idea... :)


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

More information about the Devel mailing list