diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index 90505ba51ec..c2b8863f044 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -206,7 +206,7 @@ QThreadData *QThreadData::current(bool createIfNecessary) } data->deref(); data->isAdopted = true; - data->threadId.storeRelaxed(to_HANDLE(pthread_self())); + data->threadId.storeRelaxed(QThread::currentThreadId()); if (!QCoreApplicationPrivate::theMainThreadId.loadAcquire()) { auto *mainThread = data->thread.loadRelaxed(); mainThread->setObjectName("Qt mainThread"); @@ -317,8 +317,7 @@ void *QThreadPrivate::start(void *arg) } // threadId is set in QThread::start() - Q_ASSERT(pthread_equal(from_HANDLE(data->threadId.loadRelaxed()), - pthread_self())); + Q_ASSERT(data->threadId.loadRelaxed() == QThread::currentThreadId()); data->ref(); data->quitNow = thr->d_func()->exited; @@ -815,7 +814,7 @@ bool QThread::wait(QDeadlineTimer deadline) Q_D(QThread); QMutexLocker locker(&d->mutex); - if (from_HANDLE(d->data->threadId.loadRelaxed()) == pthread_self()) { + if (isCurrentThread()) { qWarning("QThread::wait: Thread tried to wait on itself"); return false; }