From c7870fdab4f35a2caa81a15c593b2366ce1c920c Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 26 Dec 2024 16:00:37 -0600 Subject: [PATCH] fix --- .../librepertory/src/file_manager/direct_open_file.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/repertory/librepertory/src/file_manager/direct_open_file.cpp b/repertory/librepertory/src/file_manager/direct_open_file.cpp index 172909fb..c152a311 100644 --- a/repertory/librepertory/src/file_manager/direct_open_file.cpp +++ b/repertory/librepertory/src/file_manager/direct_open_file.cpp @@ -36,11 +36,13 @@ direct_open_file::direct_open_file(std::uint64_t chunk_size, ring_state_(ring_size), total_chunks_(static_cast( utils::divide_with_ceiling(fsi_.size, chunk_size))) { - ring_end_ = - std::min(total_chunks_ - 1U, ring_begin_ + ring_state_.size() - 1U); - ring_state_.set(0U, ring_state_.size(), true); - if (fsi_.size > 0U) { + ring_state_.resize(std::min(total_chunks_, ring_state_.size())); + + ring_end_ = + std::min(total_chunks_ - 1U, ring_begin_ + ring_state_.size() - 1U); + ring_state_.set(0U, ring_state_.size(), true); + reader_thread_ = std::make_unique([this]() { background_reader_thread(); }); }