Dev/rm volatile (#1007)

* Removing volatile and replacing with atomic to ensure atomicity

* compiling header include issue
This commit is contained in:
maliakal_d 2024-10-23 12:39:03 +02:00 committed by GitHub
parent 37e65634d4
commit 60868ae74e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 4 deletions

View File

@ -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<std::unique_ptr<ZmqSocket>> zmqSocket;
volatile int numZmqRunning{0};
std::atomic<int> numZmqRunning{0};
/** mutex to synchronize main and data processing threads */
mutable std::mutex mp;

View File

@ -13,9 +13,10 @@
#include "sls/logger.h"
#include "sls/sls_detector_defs.h"
#include "sls/CircularFifo.h"
#include <atomic>
namespace sls {
class Fifo : private virtual slsDetectorDefs {
@ -49,8 +50,8 @@ class Fifo : private virtual slsDetectorDefs {
CircularFifo<char> *fifoFree;
CircularFifo<char> *fifoStream;
int fifoDepth;
volatile int status_fifoBound;
volatile int status_fifoFree;
std::atomic<int> status_fifoBound;
std::atomic<int> status_fifoFree;
};
} // namespace sls