From 60868ae74ef776a9d4d046549b4160767b1d978a Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 23 Oct 2024 12:39:03 +0200 Subject: [PATCH] Dev/rm volatile (#1007) * Removing volatile and replacing with atomic to ensure atomicity * compiling header include issue --- slsDetectorSoftware/src/DetectorImpl.h | 2 +- slsReceiverSoftware/src/Fifo.h | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/slsDetectorSoftware/src/DetectorImpl.h b/slsDetectorSoftware/src/DetectorImpl.h index c42d9767d..424330043 100644 --- a/slsDetectorSoftware/src/DetectorImpl.h +++ b/slsDetectorSoftware/src/DetectorImpl.h @@ -434,7 +434,7 @@ class DetectorImpl : public virtual slsDetectorDefs { /** data streaming (down stream) enabled in client (zmq sckets created) */ bool client_downstream{false}; std::vector> zmqSocket; - volatile int numZmqRunning{0}; + std::atomic numZmqRunning{0}; /** mutex to synchronize main and data processing threads */ mutable std::mutex mp; diff --git a/slsReceiverSoftware/src/Fifo.h b/slsReceiverSoftware/src/Fifo.h index d07fe5fef..7166c3968 100644 --- a/slsReceiverSoftware/src/Fifo.h +++ b/slsReceiverSoftware/src/Fifo.h @@ -13,9 +13,10 @@ #include "sls/logger.h" #include "sls/sls_detector_defs.h" - #include "sls/CircularFifo.h" +#include + namespace sls { class Fifo : private virtual slsDetectorDefs { @@ -49,8 +50,8 @@ class Fifo : private virtual slsDetectorDefs { CircularFifo *fifoFree; CircularFifo *fifoStream; int fifoDepth; - volatile int status_fifoBound; - volatile int status_fifoFree; + std::atomic status_fifoBound; + std::atomic status_fifoFree; }; } // namespace sls