[Qt-interest] Interesting QThread problem
Scott Aron Bloom
Scott.Bloom at onshorecs.com
Wed Nov 24 00:01:24 CET 2010
Yes,
Set some type flag, and set it, then your working loop in your thread
could check for the flag and quit properly when detected.
I suggest you read a book on threading, its difficulties, and how to
solve them..
It sounds like you understand the Qt side but not the underlying science
Scott
-----Original Message-----
From: qt-interest-bounces at trolltech.com
[mailto:qt-interest-bounces at trolltech.com] On Behalf Of Yifei Li
Sent: Tuesday, November 23, 2010 2:46 PM
To: qt-interest at trolltech.com
Subject: Re: [Qt-interest] Interesting QThread problem
Thanks. Is there an alternative to terminate() ?
Yifei
On Nov 23, 2010, at 5:39 PM, Thiago Macieira wrote:
> On Tuesday, 23 de November de 2010 23:18:57 Yifei Li wrote:
>> The following code is a minimal example of what I'm trying to do.
Once the
>> plugin prints out one message, it will wait until 'Next' button is
clicked
>> to print out the next message. Try to terminate the execution by
clicking
>> 'Stop' and then start the execution. You will notice the first
message is
>> printed out fine. But when you click on 'Next' button to print the
second
>> message, the whole app seems to deadlock.
>
> That's to be expected. Calling QThread::terminate() is a forceful
termination
> and will probably leave behind locked mutexes and other resources.
>
> Solution: don't use terminate.
> --
> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
> Senior Product Manager - Nokia, Qt Development Frameworks
> PGP/GPG: 0x6EF45358; fingerprint:
> E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
_______________________________________________
Qt-interest mailing list
Qt-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list