From c8fc7abade6e28507f2a1590007a098e647026a9 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Fri, 14 Feb 2020 01:28:50 -0500 Subject: thread-safe OriginConnection ThreadPool now keeps threads running keep ModThreads around so avoid reallocating buffers --- src/shared/directoryentry.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/shared/directoryentry.h') diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h index 8f6afbb1..2a70d486 100644 --- a/src/shared/directoryentry.h +++ b/src/shared/directoryentry.h @@ -410,6 +410,10 @@ public: const std::wstring &originName, const std::wstring &directory, int priority, DirectoryStats& stats); + void addFromOrigin( + env::DirectoryWalker& walker, const std::wstring &originName, + const std::wstring &directory, int priority, DirectoryStats& stats); + void addFromBSA( const std::wstring &originName, std::wstring &directory, const std::wstring &fileName, int priority, int order); @@ -556,6 +560,7 @@ private: bool m_TopLevel; std::mutex m_SubDirMutex; std::mutex m_FilesMutex; + std::mutex m_OriginsMutex; DirectoryEntry(const DirectoryEntry &reference); @@ -569,7 +574,8 @@ private: std::wstring_view archive, int order, DirectoryStats& stats); void addFiles( - FilesOrigin &origin, const std::wstring& path, DirectoryStats& stats); + env::DirectoryWalker& walker, FilesOrigin &origin, + const std::wstring& path, DirectoryStats& stats); void addFiles( FilesOrigin &origin, BSA::Folder::Ptr archiveFolder, FILETIME &fileTime, -- cgit v1.3.1