From edbd70e91a05c381709a79fc20ce1e2720261b2c Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 27 Apr 2020 13:53:13 +0200 Subject: [PATCH] free fix WIP --- slsDetectorSoftware/src/Detector.cpp | 36 ++++++++++++++++-------- slsDetectorSoftware/src/DetectorImpl.cpp | 36 ++++++++++++++++-------- slsDetectorSoftware/src/Receiver.cpp | 2 +- 3 files changed, 49 insertions(+), 25 deletions(-) diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 1c9da8946..748f513b7 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -18,19 +18,25 @@ void freeSharedMemory(int detectorId, int moduleId) { // single if (moduleId >= 0) { SharedMemory moduleShm(detectorId, moduleId); - int numReceivers = 0, numReceivers2 = 0; if (moduleShm.IsExisting()) { moduleShm.OpenSharedMemory(); + int numReceivers = 0, numReceivers2 = 0; if (Module::hasSharedMemoryReceiverList(moduleShm()->shmversion)) { numReceivers = moduleShm()->numberOfReceivers; numReceivers2 = moduleShm()->numberOfReceivers2; } moduleShm.RemoveSharedMemory(); - } - for (int iReceiver = 0; iReceiver < numReceivers + numReceivers2; ++iReceiver) { - SharedMemory receiverShm(detectorId, moduleId, iReceiver); - if (receiverShm.IsExisting()) { - receiverShm.RemoveSharedMemory(); + for (int iReceiver = 0; iReceiver < numReceivers; ++iReceiver) { + SharedMemory receiverShm(detectorId, moduleId, 0, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } + } + for (int iReceiver = 0; iReceiver < numReceivers2; ++iReceiver) { + SharedMemory receiverShm(detectorId, moduleId, 1, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } } } return; @@ -48,19 +54,25 @@ void freeSharedMemory(int detectorId, int moduleId) { for (int iModule = 0; iModule < numDetectors; ++iModule) { SharedMemory moduleShm(detectorId, iModule); - int numReceivers = 0, numReceivers2 = 0; if (moduleShm.IsExisting()) { moduleShm.OpenSharedMemory(); + int numReceivers = 0, numReceivers2 = 0; if (Module::hasSharedMemoryReceiverList(moduleShm()->shmversion)) { numReceivers = moduleShm()->numberOfReceivers; numReceivers2 = moduleShm()->numberOfReceivers2; } moduleShm.RemoveSharedMemory(); - } - for (int iReceiver = 0; iReceiver < numReceivers + numReceivers2; ++iReceiver) { - SharedMemory receiverShm(detectorId, iModule, iReceiver); - if (receiverShm.IsExisting()) { - receiverShm.RemoveSharedMemory(); + for (int iReceiver = 0; iReceiver < numReceivers; ++iReceiver) { + SharedMemory receiverShm(detectorId, iModule, 0, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } + } + for (int iReceiver = 0; iReceiver < numReceivers2; ++iReceiver) { + SharedMemory receiverShm(detectorId, iModule, 1, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } } } } diff --git a/slsDetectorSoftware/src/DetectorImpl.cpp b/slsDetectorSoftware/src/DetectorImpl.cpp index f8b8ea994..4a3cea7e2 100755 --- a/slsDetectorSoftware/src/DetectorImpl.cpp +++ b/slsDetectorSoftware/src/DetectorImpl.cpp @@ -54,19 +54,25 @@ void DetectorImpl::freeSharedMemory(int detectorId, int moduleId) { // single if (moduleId >= 0) { SharedMemory moduleShm(detectorId, moduleId); - int numReceivers = 0, numReceivers2 = 0; if (moduleShm.IsExisting()) { moduleShm.OpenSharedMemory(); + int numReceivers = 0, numReceivers2 = 0; if (Module::hasSharedMemoryReceiverList(moduleShm()->shmversion)) { numReceivers = moduleShm()->numberOfReceivers; numReceivers2 = moduleShm()->numberOfReceivers2; } moduleShm.RemoveSharedMemory(); - } - for (int iReceiver = 0; iReceiver < numReceivers + numReceivers2; ++iReceiver) { - SharedMemory receiverShm(detectorId, moduleId, iReceiver); - if (receiverShm.IsExisting()) { - receiverShm.RemoveSharedMemory(); + for (int iReceiver = 0; iReceiver < numReceivers; ++iReceiver) { + SharedMemory receiverShm(detectorId, moduleId, 0, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } + } + for (int iReceiver = 0; iReceiver < numReceivers2; ++iReceiver) { + SharedMemory receiverShm(detectorId, moduleId, 1, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } } } return; @@ -84,19 +90,25 @@ void DetectorImpl::freeSharedMemory(int detectorId, int moduleId) { for (int iModule = 0; iModule < numDetectors; ++iModule) { SharedMemory moduleShm(detectorId, iModule); - int numReceivers = 0, numReceivers2 = 0; if (moduleShm.IsExisting()) { moduleShm.OpenSharedMemory(); + int numReceivers = 0, numReceivers2 = 0; if (Module::hasSharedMemoryReceiverList(moduleShm()->shmversion)) { numReceivers = moduleShm()->numberOfReceivers; numReceivers2 = moduleShm()->numberOfReceivers2; } moduleShm.RemoveSharedMemory(); - } - for (int iReceiver = 0; iReceiver < numReceivers + numReceivers2; ++iReceiver) { - SharedMemory receiverShm(detectorId, iModule, iReceiver); - if (receiverShm.IsExisting()) { - receiverShm.RemoveSharedMemory(); + for (int iReceiver = 0; iReceiver < numReceivers; ++iReceiver) { + SharedMemory receiverShm(detectorId, iModule, 0, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } + } + for (int iReceiver = 0; iReceiver < numReceivers2; ++iReceiver) { + SharedMemory receiverShm(detectorId, iModule, 1, iReceiver); + if (receiverShm.IsExisting()) { + receiverShm.RemoveSharedMemory(); + } } } } diff --git a/slsDetectorSoftware/src/Receiver.cpp b/slsDetectorSoftware/src/Receiver.cpp index 3ca6a14e5..6fc9fadfc 100755 --- a/slsDetectorSoftware/src/Receiver.cpp +++ b/slsDetectorSoftware/src/Receiver.cpp @@ -144,7 +144,7 @@ sls::MacAddr Receiver::configure(slsDetectorDefs::rxParameters arg) { arg.udpInterfaces = 2; } - LOG(logDEBUG1) + LOG(logINFO) << "detType:" << arg.detType << std::endl << "detectorSize.x:" << arg.detectorSize.x << std::endl << "detectorSize.y:" << arg.detectorSize.y << std::endl