summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUwe Klotz <uwe_klotz@web.de>2017-06-08 07:34:19 +0200
committerUwe Klotz <uwe_klotz@web.de>2017-06-12 07:30:18 +0200
commit45101bf7e3f64f34c6cb1c0420f48a77ded11ec2 (patch)
treef60bf29566f852953028431788dad3c23b7e9fc5 /src
parent3753bc5d043eb2236c696fdf168d12c425a36ca4 (diff)
Generate thread ids in a thread-safe manner
Diffstat (limited to 'src')
-rw-r--r--src/analyzer/analyzerqueue.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/analyzer/analyzerqueue.cpp b/src/analyzer/analyzerqueue.cpp
index 56bc7b0752..4f302904a0 100644
--- a/src/analyzer/analyzerqueue.cpp
+++ b/src/analyzer/analyzerqueue.cpp
@@ -40,10 +40,12 @@ const SINT kAnalysisFramesPerBlock = 4096;
const SINT kAnalysisSamplesPerBlock =
kAnalysisFramesPerBlock * kAnalysisChannels;
+QAtomicInt threadCounter(0);
+
QAtomicInt dbIndex(0);
QString nextDatabaseConnectioName() {
- const int idx = ::dbIndex.fetchAndAddAcquire(1);
+ const int idx = dbIndex.fetchAndAddAcquire(1);
return QString("ANALYZER_QUEUE-%1").arg(QString::number(idx));
}
@@ -306,8 +308,8 @@ void AnalyzerQueue::run() {
return;
}
- unsigned static id = 0; // the id of this thread, for debugging purposes
- QThread::currentThread()->setObjectName(QString("AnalyzerQueue %1").arg(++id));
+ const int threadId = threadCounter.fetchAndAddAcquire(1) + 1;
+ QThread::currentThread()->setObjectName(QString("AnalyzerQueue %1").arg(threadId));
kLogger.debug() << "Entering thread";