Suggestion about an emoticon plugin implementation ...

Mauro Sérgio Ferreira Brasil mauro.brasil at
Thu Jul 19 10:59:48 EDT 2007

In fact, despite of my impossibility to confirm the single-thread nature 
of our client application as a whole, I don't think this could be the cause.

I'm almost sure that we shouldn't have those problems whether we could 
use the binaries build with gcc, as Pidgin do.
But, we couldn't.

I don't know the implications of using libpurple build with MSVC 2003 
and linked agains msvcr71.dll, considering that it is hardly depended of 
glib that is build using gcc and linked against msvcrt.dll.
I know some problems that become of this mixed up: file descriptors, 
memory, almost all kinds of resources (or all of them), cause problems 
when handled by different versions of CRT libraries. But I don't know 
ALL the problems.

Anyway, the library here is working fine with the adjustments, and we 
need to focus on emoticon caching.
I posted this comments here just hopping to find someone else on the 
same situation... nothing more.


Daniel Atallah wrote:
> On 7/19/07, *Mauro Sérgio Ferreira Brasil* <mauro.brasil at 
> <mailto:mauro.brasil at>> wrote:
>     I run out on problems that should happen with libpurple when used
>     with Pidgin (gtk interface), but they just don't happen.
>     And I confess that it makes me crazy the thinks I needed to do
>     here to avoid some situations when using libpurple with a WTL
>     application of our customer.
>     One example was the GMutex used on "send_cb" method of
>     "flap_connection.c" file from ICQ protocol. This mutex has the
>     simple purpose to assure the ICQ primitives will have different
>     sequence numbers.
>     Without this change, ICQ protocol hangs up all time, and I took a
>     little longer to realize that some primitives were being sent with
>     the same sequence number, what leaded to protocolo hang up.
>     Race conditions like this were found when we issue a
>     disconnection, while a connection process is taking place.
>     This causes lots of crashes with ICQ and MSN protocols here.
>     And the solution again was insert some mutexes, in order to
>     serialize the two conflicting elements: 1- Handling of protocol
>     primitives received, and 2- Disconnection procedure.
> Unless I'm mistaken, we established that these were synchronization 
> problems because you were (are?) trying to use libpurple from several 
> threads.
> -D

*Tecnologia e Qualidade em Informática Ltda*
Mauro Sérgio Ferreira Brasil
Analista de Sistemas
+ mauro.brasil at <>
: <>
( + 55 (34)3291-1700
( + 55 (34)9971-2572

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CMMI.jpg
Type: image/jpeg
Size: 9241 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TQI.gif
Type: image/gif
Size: 653 bytes
Desc: not available
URL: <>

More information about the Devel mailing list