aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/entropy/proc_walk
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/entropy/proc_walk')
-rw-r--r--src/lib/entropy/proc_walk/proc_walk.cpp2
-rw-r--r--src/lib/entropy/proc_walk/proc_walk.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/entropy/proc_walk/proc_walk.cpp b/src/lib/entropy/proc_walk/proc_walk.cpp
index 95dc4e8e3..616c76ea3 100644
--- a/src/lib/entropy/proc_walk/proc_walk.cpp
+++ b/src/lib/entropy/proc_walk/proc_walk.cpp
@@ -120,6 +120,8 @@ void ProcWalking_EntropySource::poll(Entropy_Accumulator& accum)
const size_t MAX_FILES_READ_PER_POLL = 2048;
const double ENTROPY_ESTIMATE = 1.0 / (8*1024);
+ std::lock_guard<std::mutex> lock(m_mutex);
+
if(!m_dir)
m_dir.reset(new Directory_Walker(m_path));
diff --git a/src/lib/entropy/proc_walk/proc_walk.h b/src/lib/entropy/proc_walk/proc_walk.h
index 047fb3bb9..218cd752a 100644
--- a/src/lib/entropy/proc_walk/proc_walk.h
+++ b/src/lib/entropy/proc_walk/proc_walk.h
@@ -34,6 +34,7 @@ class ProcWalking_EntropySource : public EntropySource
private:
const std::string m_path;
+ std::mutex m_mutex;
std::unique_ptr<File_Descriptor_Source> m_dir;
};