diff options
author | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-05-04 14:17:45 (GMT) |
---|---|---|
committer | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-05-04 14:17:45 (GMT) |
commit | 493e8ed7a90713826defbd220694cb6fd7987ac3 (patch) | |
tree | 30c4511e539c609e1e8d892770bc2b76f8d1bb66 /src/corelib/thread/qthread_unix.cpp | |
parent | 2e76d2bfedce77064fde85573f5267032ce7979e (diff) | |
parent | 812b8de816bf84a5607d5a5d178283be3eb6bfc7 (diff) | |
download | Qt-493e8ed7a90713826defbd220694cb6fd7987ac3.zip Qt-493e8ed7a90713826defbd220694cb6fd7987ac3.tar.gz Qt-493e8ed7a90713826defbd220694cb6fd7987ac3.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into softkeys
Diffstat (limited to 'src/corelib/thread/qthread_unix.cpp')
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index aad55bc..567c936 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -226,7 +226,7 @@ void *QThreadPrivate::start(void *arg) } #ifdef Q_OS_SYMBIAN -void QThreadPrivate::finish(void *arg, bool lockAnyway) +void QThreadPrivate::finish(void *arg, bool lockAnyway, bool closeNativeHandle) #else void QThreadPrivate::finish(void *arg) #endif @@ -258,7 +258,8 @@ void QThreadPrivate::finish(void *arg) d->thread_id = 0; #ifdef Q_OS_SYMBIAN - d->data->symbian_thread_handle.Close(); + if (closeNativeHandle) + d->data->symbian_thread_handle.Close(); #endif d->thread_done.wakeAll(); #ifdef Q_OS_SYMBIAN @@ -530,10 +531,11 @@ void QThread::terminate() d->terminatePending = true; return; } - - d->data->symbian_thread_handle.Terminate(KErrNone); - + d->terminated = true; + QThreadPrivate::finish(this, false, false); + d->data->symbian_thread_handle.Terminate(KErrNone); + d->data->symbian_thread_handle.Close(); #endif |