From a82f0951a3813fb82886ea68cf9ee67016d08a99 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Wed, 11 Feb 2015 16:02:49 +0000 Subject: [PATCH] Task #7336: Prevent (one type of) crash when Cobalt is stopped during startup phase --- RTCP/Cobalt/GPUProc/src/Station/StationInput.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc b/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc index a459da0af62..3200cf3aa7d 100644 --- a/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc +++ b/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc @@ -555,12 +555,16 @@ namespace LOFAR { if (ps.settings.realTime) { #pragma omp parallel for num_threads(nrBoards) for(size_t board = 0; board < nrBoards; board++) { - OMPThreadSet::ScopedRun sr(packetReaderThreads); - OMPThread::ScopedName sn(str(format("%s rd %u") % ps.settings.antennaFields.at(stationIdx).name % board)); + try { + OMPThreadSet::ScopedRun sr(packetReaderThreads); + OMPThread::ScopedName sn(str(format("%s rd %u") % ps.settings.antennaFields.at(stationIdx).name % board)); - Thread::ScopedPriority sp(SCHED_FIFO, 10); + Thread::ScopedPriority sp(SCHED_FIFO, 10); - readRSPRealTime(board, mdLogger, mdKeyPrefix); + readRSPRealTime(board, mdLogger, mdKeyPrefix); + } catch(OMPThreadSet::CannotStartException &ex) { + LOG_INFO_STR( logPrefix << "Stopped"); + } } } else { readRSPNonRealTime(mdLogger, mdKeyPrefix); -- GitLab