From 5f95a82e8d0f4bd4d4a7d2486f0f28123cf0be88 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Thu, 14 May 2020 19:06:29 +0300 Subject: [PATCH] Fix for filestream reset race --- components/streams/src/filestream.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/streams/src/filestream.cpp b/components/streams/src/filestream.cpp index 5ae915fdf..2afe275ba 100644 --- a/components/streams/src/filestream.cpp +++ b/components/streams/src/filestream.cpp @@ -344,6 +344,7 @@ bool File::begin(bool dorun) { } bool File::end() { + UNIQUE_LOCK(mutex_, lk); if (!active_) return false; active_ = false; timer_.cancel(); @@ -366,6 +367,10 @@ bool File::end() { void File::reset() { UNIQUE_LOCK(mutex_, lk); + + // TODO: Find a better solution + while (jobs_ > 0) std::this_thread::sleep_for(std::chrono::milliseconds(2)); + data_.clear(); buffer_in_.reset(); buffer_in_.remove_nonparsed_buffer(); -- GitLab