Skip to content

Commit 224ffc2

Browse files
committed
MAINT: get rid of wrapper class Thread. Get rid of redundant bool.
1 parent 98b4829 commit 224ffc2

File tree

5 files changed

+11
-109
lines changed

5 files changed

+11
-109
lines changed

applications/mne_scan/libs/scShared/Plugins/threads.h

Lines changed: 0 additions & 94 deletions
This file was deleted.

applications/mne_scan/libs/scShared/scShared.pro

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ SOURCES += \
103103
Management/displaymanager.cpp
104104

105105
HEADERS += \
106-
Plugins/threads.h \
107106
scshared_global.h \
108107
Plugins/abstractplugin.h \
109108
Plugins/abstractsensor.h \

applications/mne_scan/plugins/fiffsimulator/fiffsimulator.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ FiffSimulator::FiffSimulator()
8787
, m_pCircularBuffer(QSharedPointer<CircularBuffer_Matrix_float>(new CircularBuffer_Matrix_float(40)))
8888
, m_pRtCmdClient(QSharedPointer<RtCmdClient>::create())
8989
, m_iDefaultPortCmdClient(4217)
90-
, m_OutputProcessingThreadRunning(false)
91-
, m_StopOutputProcessingThread(false)
90+
, m_bProcessOutput(false)
9291
{
9392
//init channels when fiff info is available
9493
connect(this, &FiffSimulator::fiffInfoAvailable,
@@ -99,7 +98,7 @@ FiffSimulator::FiffSimulator()
9998

10099
FiffSimulator::~FiffSimulator()
101100
{
102-
if(m_pFiffSimulatorProducer->isRunning() || m_OutputProcessingThreadRunning) {
101+
if(m_pFiffSimulatorProducer->isRunning() || m_OutputProcessingThread.joinable()) {
103102
stop();
104103
}
105104
}
@@ -158,8 +157,8 @@ bool FiffSimulator::start()
158157
(*m_pRtCmdClient)["start"].pValues()[0].setValue(m_pFiffSimulatorProducer->m_iDataClientId);
159158
(*m_pRtCmdClient)["start"].send();
160159

160+
m_bProcessOutput = true;
161161
m_OutputProcessingThread = std::thread(&FiffSimulator::run, this);
162-
m_OutputProcessingThreadRunning = true;
163162

164163
return true;
165164
}
@@ -172,9 +171,10 @@ bool FiffSimulator::start()
172171
bool FiffSimulator::stop()
173172
{
174173
// Stop this (consumer) thread first
175-
m_StopOutputProcessingThread = true;
176-
m_OutputProcessingThread.join();
177-
m_OutputProcessingThreadRunning = false;
174+
if(m_OutputProcessingThread.joinable()){
175+
m_bProcessOutput = false;
176+
m_OutputProcessingThread.join();
177+
}
178178

179179
// Stop producer thread second
180180
m_pFiffSimulatorProducer->stop();
@@ -188,8 +188,6 @@ bool FiffSimulator::stop()
188188
m_pRTMSA_FiffSimulator->measurementData()->clear();
189189
m_pCircularBuffer->clear();
190190

191-
m_StopOutputProcessingThread = false;
192-
193191
return true;
194192
}
195193

@@ -222,11 +220,11 @@ void FiffSimulator::run()
222220
{
223221
MatrixXf matValue;
224222

225-
while(!m_StopOutputProcessingThread) {
223+
while(m_bProcessOutput) {
226224
//pop matrix
227225
if(m_pCircularBuffer->pop(matValue)) {
228226
//emit values
229-
if(!m_StopOutputProcessingThread) {
227+
if(m_bProcessOutput) {
230228
m_pRTMSA_FiffSimulator->measurementData()->setValue(matValue.cast<double>());
231229
}
232230
}

applications/mne_scan/plugins/fiffsimulator/fiffsimulator.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,7 @@ class FIFFSIMULATORSHARED_EXPORT FiffSimulator : public SCSHAREDLIB::AbstractSen
215215
QMutex m_qMutex; /**< The mutex to ensure thread safety.*/
216216

217217
std::thread m_OutputProcessingThread;
218-
std::atomic_bool m_OutputProcessingThreadRunning;
219-
std::atomic_bool m_StopOutputProcessingThread;
218+
std::atomic_bool m_bProcessOutput;
220219

221220
signals:
222221
//=========================================================================================================

applications/mne_scan/plugins/fiffsimulator/fiffsimulatorproducer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void FiffSimulatorProducer::run()
178178
m_producerMutex.unlock();
179179

180180
// Only perform data reading if the measurement was started
181-
if(m_pFiffSimulator->m_OutputProcessingThreadRunning) {
181+
if(m_pFiffSimulator->m_bProcessOutput) {
182182
m_pRtDataClient->readRawBuffer(m_pFiffSimulator->m_pFiffInfo->nchan,
183183
matData,
184184
kind);

0 commit comments

Comments
 (0)