diff options
Diffstat (limited to 'src/lib/entropy/proc_walk')
-rw-r--r-- | src/lib/entropy/proc_walk/proc_walk.cpp | 2 | ||||
-rw-r--r-- | src/lib/entropy/proc_walk/proc_walk.h | 1 |
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; }; |