diff options
-rw-r--r-- | src/corelib/thread/qthread.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index 6a736bcfa8..db53a8cade 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -417,7 +417,7 @@ QThread::QThread(QObject *parent) { Q_D(QThread); // fprintf(stderr, "QThreadData %p created for thread %p\n", d->data, this); - d->data->thread = this; + d->data->thread.storeRelaxed(this); } /*! @@ -428,7 +428,7 @@ QThread::QThread(QThreadPrivate &dd, QObject *parent) { Q_D(QThread); // fprintf(stderr, "QThreadData %p taken from private data for thread %p\n", d->data, this); - d->data->thread = this; + d->data->thread.storeRelaxed(this); } /*! @@ -453,7 +453,7 @@ QThread::~QThread() if (d->running && !d->finished && !d->data->isAdopted) qFatal("QThread: Destroyed while thread is still running"); - d->data->thread = nullptr; + d->data->thread.storeRelease(nullptr); } } @@ -799,7 +799,7 @@ QThread::QThread(QObject *parent) : QObject(*(new QThreadPrivate), parent) { Q_D(QThread); - d->data->thread = this; + d->data->thread.storeRelaxed(this); } QThread::~QThread() @@ -917,7 +917,7 @@ QThread::QThread(QThreadPrivate &dd, QObject *parent) { Q_D(QThread); // fprintf(stderr, "QThreadData %p taken from private data for thread %p\n", d->data, this); - d->data->thread = this; + d->data->thread.storeRelaxed(this); } QThreadPrivate::QThreadPrivate(QThreadData *d) : data(d ? d : new QThreadData) @@ -926,7 +926,7 @@ QThreadPrivate::QThreadPrivate(QThreadData *d) : data(d ? d : new QThreadData) QThreadPrivate::~QThreadPrivate() { - data->thread = nullptr; // prevent QThreadData from deleting the QThreadPrivate (again). + data->thread.storeRelease(nullptr); // prevent QThreadData from deleting the QThreadPrivate (again). delete data; } |