[PyQt] Multithreading, signals, reference counting and crash

Phil Thompson phil at riverbankcomputing.com
Fri Feb 12 09:43:18 GMT 2016


On 11 Feb 2016, at 7:15 pm, Ilya Kulakov <kulakov.ilya at gmail.com> wrote:
> 
> Phil,
> 
> How does Qt's automatic unsubscribing in QObject's destructor works then?
> 
> Best Regards
> Ilya Kulakov

Unsubscribing to what?

Qt maintains lots of internal data structures about connections, but these aren't exposed. As far as I know Qt does not track pointers to QObjects when they are sitting in a thread's event queue.

Phil

>> On 12 февр. 2016 г., at 0:30, Phil Thompson <phil at riverbankcomputing.com> wrote:
>> 
>> 
>>> On 11 Feb 2016, at 6:16 pm, Ilya Kulakov <kulakov.ilya at gmail.com> wrote:
>>> 
>>> Phil,
>>> 
>>> I said I don't know all the details :)
>>> 
>>> PyQt "controls" both signals and slots. Doesn't it know how many receivers are there before it sends?
>> 
>> The short answer to the question is no. Also, with queued connections, a signal may be sitting in an unprocessed event queue for an indeterminate amount of time. In network terms, signals are UDP, not TCP.
>> 
>> Phil
> 



More information about the PyQt mailing list