diff options
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index 47d6f48ed9..d047cc8606 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -271,14 +271,16 @@ void QThreadPrivate::createEventDispatcher(QThreadData *data) #ifndef QT_NO_THREAD #if (defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_QNX)) -static void setCurrentThreadName(const char *name) +static void setCurrentThreadName(pthread_t threadId, const char *name) { # if defined(Q_OS_LINUX) && !defined(QT_LINUXBASE) + Q_UNUSED(threadId); prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0); # elif defined(Q_OS_MAC) + Q_UNUSED(threadId); pthread_setname_np(name); # elif defined(Q_OS_QNX) - pthread_setname_np(thr->d_func()->thread_id, name); + pthread_setname_np(threadId, name); # endif } #endif @@ -317,9 +319,9 @@ void *QThreadPrivate::start(void *arg) QString objectName = thr->objectName(); if (Q_LIKELY(objectName.isEmpty())) - setCurrentThreadName(thr->metaObject()->className()); + setCurrentThreadName(thr->d_func()->thread_id, thr->metaObject()->className()); else - setCurrentThreadName(objectName.toLocal8Bit()); + setCurrentThreadName(thr->d_func()->thread_id, objectName.toLocal8Bit()); #endif |