use std::atomic for additivity
diff --git a/src/main/cpp/logger.cpp b/src/main/cpp/logger.cpp
index 61f8d03..2908eda 100644
--- a/src/main/cpp/logger.cpp
+++ b/src/main/cpp/logger.cpp
@@ -495,7 +495,6 @@
 
 void Logger::setAdditivity(bool additive1)
 {
-    std::shared_lock lock(mutex);
     this->additive = additive1;
 }
 
diff --git a/src/main/include/log4cxx/logger.h b/src/main/include/log4cxx/logger.h
index 66f78b6..b53b546 100644
--- a/src/main/include/log4cxx/logger.h
+++ b/src/main/include/log4cxx/logger.h
@@ -34,6 +34,7 @@
 #include <log4cxx/helpers/resourcebundle.h>
 #include <log4cxx/helpers/messagebuffer.h>
 #include <shared_mutex>
+#include <atomic>
 
 namespace log4cxx
 {
@@ -114,7 +115,7 @@
             of this logger will inherit its appenders, unless the children
             have their additivity flag set to <code>false</code> too. See
             the user manual for more details. */
-    bool additive;
+	std::atomic<bool> additive;
 
 protected:
     friend class DefaultLoggerFactory;