Libpurple disconnecting issue

Evan Schoenberg evan.s at dreskin.net
Wed Mar 26 17:57:48 EDT 2008


On Mar 26, 2008, at 5:42 PM, Ethan Blanton wrote:

> Benjamin Arnaud spake unto us the following wisdom:
>> I have two main threads :
>> - my Qt interface.
>> - Libpurple's thread.
>>
>> libpurple is running on its own thread with its own  
>> "g_main_loop_run(loop);"
>>
>> The only interaction between both sides are signal based, according  
>> to
>> Qt's doc those are Thread safe.
>
> What do you mean, "those are Thread safe"?  How does libpurple receive
> those signals?
>
> (I suspect this is, in fact, your problem.)

Ah, good catch, Ethan. I skipped over that line apparently.  "Thread  
safe" doesn't necessarily mean that they are being received on the  
desired thread.  You should verify that signals coming from Qt for use  
by libpurple (whatever that may mean) are being processed on the  
libpurple thread.  You can not access libpurple under any circumstance  
(including access data structures managed by libpurple) from the Qt  
thread with assurance of safety.

-Evan




More information about the Devel mailing list