On Mon, Oct 15, 2012 at 11:00 PM, Thiago Macieira <thiago.macie...@intel.com > wrote:
> On segunda-feira, 15 de outubro de 2012 14.53.39, Olivier Goffart wrote: > > > Is there any value in keeping a signal that is: > > > - Only emitted after the program destabilises, and > > > - Not even guaranteed to be emitted? > > > > I even go as far as removing it. > > Source compatibility is not really broken since you will just get a > runtime > > warning saying the signal don't exist. > > Agreed. > > The terminated signal works properly if and only if the thread terminates > in > synchronous termination mode and the cleanup handlers are run. If the > thread > is killed or terminated asynchronously, or if the handlers aren't run, all > bets are lost. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Development mailing list > Development@qt-project.org > http://lists.qt-project.org/mailman/listinfo/development > > Ok, I just had a look at the source code to study how to remove the signal. It looks like the QThread::terminated() signal is only ever emitted from QThreadPrivate::finish(), if the appropriate flag is set (for both Unix and Win implementations). That flag is QThreadPrivate::terminated, and it's only ever queried to decide whether or not to emit the signal. So, I'm thinking that if QThread::terminated() is removed, then QThreadPrivate::terminated becomes redundant and can be removed too. Would you agree? Regards, Sze-Howe
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development