#include "ipc/ReadWriteLock.h"
#include "Store.h"
+Ipc::ReadWriteLock::ReadWriteLock()
+{
+ std::atomic_init(readers, 0);
+ std::atomic_init(writing, false);
+ std::atomic_init(appending, false);
+ std::atomic_init(readLevel, 0);
+ std::atomic_init(writeLevel, 0);
+}
+
bool
Ipc::ReadWriteLock::lockShared()
{
class ReadWriteLock
{
public:
- // default constructor is OK because of shared memory zero-initialization
+ ReadWriteLock();
bool lockShared(); ///< lock for reading or return false
bool lockExclusive(); ///< lock for modification or return false