Hi, Is, or should, that even be supported? I’m just wondering because when I’m using Qt to create a thread, I also use Qt to quit it. Why should anybody use a „foreign“ API?
Beste Grüße / Best regards, Alexander Nassian > Am 02.09.2016 um 12:32 schrieb Giuseppe D'Angelo <[email protected]>: > > Howdy, > > I'm trying to introduce a change [1] which will make QThread invoke > std::terminate in case an exception is thrown from the new thread > (including, but not limited to: user's reimplementation of QThread::run; > slots listening to the QThread::started / finished signals; custom event > dispatchers). > > The idea is to align ourselves to what std::thread does. > > There's a small catch, however: user code might be using platform-native > APIs such as pthread_exit(3) in order to make a QThread quit. > > On some implementations (notably: glibc), pthread_exit is implemented by > throwing an exception, because it needs to run the pushed cleanup > handlers. The net result is that, with my change applied, pthread_exit > won't make the thread exit but crash the application instead (!). > > The question for the ML is: is this a scenario Qt has ever officially > supported, and a scenario that we should support in the future? > > (QThread documentation does not talk about how QThread itself is > implemented, so actually relying on the that it has pthread semantics is > already a slight API abuse by the users). > > [1] https://codereview.qt-project.org/#/c/167240/ > > Cheers, > -- > Giuseppe D'Angelo | [email protected] | Senior Software Engineer > KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 > KDAB - The Qt Experts > > _______________________________________________ > Development mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
