From a510010b274d276c3b815c60f85e82fdfddf86f0 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 16 Apr 2020 16:08:34 +0200 Subject: [PATCH] rxr bug fix: master file not created, rxr does not return --- slsReceiverSoftware/src/Listener.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index 1f1b3f53c..d7190cbe4 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -64,9 +64,11 @@ Listener::Listener(int ind, detectorType dtype, Fifo*& f, runStatus* s, Listener::~Listener() { - if (udpSocket) delete udpSocket; - sem_post(&semaphore_socket); - sem_destroy(&semaphore_socket); + if (udpSocket) { + delete udpSocket; + sem_post(&semaphore_socket); + sem_destroy(&semaphore_socket); + } if (carryOverPacket) delete [] carryOverPacket; if (listeningPacket) delete [] listeningPacket; ThreadObject::DestroyThread(); @@ -228,7 +230,9 @@ void Listener::ShutDownUDPSocket() { FILE_LOG(logINFO) << "Shut down of UDP port " << *udpPortNumber; fflush(stdout); //delete socket at stoplistening - sem_wait(&semaphore_socket); + if (runningFlag) { + sem_wait(&semaphore_socket); + } delete udpSocket; udpSocket = 0; sem_destroy(&semaphore_socket);