From eac02479c597fedef39a1d3445cbb624b933e397 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 16 Apr 2020 16:08:34 +0200 Subject: [PATCH 1/2] 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); From 2a31e921acb072bce68d28bd1c393cc902486fe4 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Mon, 20 Apr 2020 13:42:33 +0200 Subject: [PATCH 2/2] memory leak when running single task --- slsDetectorSoftware/threadFiles/ThreadPool.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/slsDetectorSoftware/threadFiles/ThreadPool.cpp b/slsDetectorSoftware/threadFiles/ThreadPool.cpp index 224038f5c..037be8958 100644 --- a/slsDetectorSoftware/threadFiles/ThreadPool.cpp +++ b/slsDetectorSoftware/threadFiles/ThreadPool.cpp @@ -151,6 +151,7 @@ void* ThreadPool::execute_thread(){ int ThreadPool::add_task(Task* task){ if(m_pool_size == 1){ (*task)(); + delete task; return 0; } m_task_mutex.lock();