diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-10 08:48:11 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-10 08:48:11 (GMT) |
commit | cf907cb8ab5ecb95d964762c1cce586fa2207dff (patch) | |
tree | 2aca36ededeae065c2892e5edd8daf01ea03cb95 /src/corelib | |
parent | 4cf3730c65b28f3e895a1a4c8f7db509e11c71c0 (diff) | |
parent | 0efc71b7af2818f2f40438b2807efe361352f7a9 (diff) | |
download | Qt-cf907cb8ab5ecb95d964762c1cce586fa2207dff.zip Qt-cf907cb8ab5ecb95d964762c1cce586fa2207dff.tar.gz Qt-cf907cb8ab5ecb95d964762c1cce586fa2207dff.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Linux runonphone - tell the user which driver to load
Fix USB serial port detection of the Nokia N95 on linux
Fix license headers on new files imported from Qt Creator
Implement just in time debug feature for runonphone
Merge tools/runonphone/symbianutils from qtcreator src/shared/symbianutils
Add exception barrier to QCertificateRetriever::RunL()
Set QThreads to be process critical automatically on Symbian OS
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index 6b34b5f..d193b2e 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -247,6 +247,14 @@ void *QThreadPrivate::start(void *arg) data->symbian_thread_handle = RThread(); TThreadId threadId = data->symbian_thread_handle.Id(); data->symbian_thread_handle.Open(threadId); + // On symbian, threads other than the main thread are non critical by default + // This means a worker thread can crash without crashing the application - to + // use this feature, we would need to use RThread::Logon in the main thread + // to catch abnormal thread exit and emit the finished signal. + // For the sake of cross platform consistency, we set the thread as process critical + // - advanced users who want the symbian behaviour can change the critical + // attribute of the thread again once the app gains control in run() + User::SetCritical(User::EProcessCritical); #endif pthread_once(¤t_thread_data_once, create_current_thread_data_key); |