diff --git a/include/indicators/block_progress_bar.hpp b/include/indicators/block_progress_bar.hpp index 4c8f34b..b0bf600 100644 --- a/include/indicators/block_progress_bar.hpp +++ b/include/indicators/block_progress_bar.hpp @@ -104,7 +104,10 @@ public: _print_progress(); } - size_t current() { return std::min(static_cast(_progress), size_t(100)); } + size_t current() { + std::unique_lock lock{_mutex}; + return std::min(static_cast(_progress), size_t(100)); + } bool is_completed() const { return _completed; } diff --git a/include/indicators/progress_bar.hpp b/include/indicators/progress_bar.hpp index 2ee9c2d..f225c69 100644 --- a/include/indicators/progress_bar.hpp +++ b/include/indicators/progress_bar.hpp @@ -118,7 +118,10 @@ public: _print_progress(); } - size_t current() { return std::min(static_cast(_progress), size_t(100)); } + size_t current() { + std::unique_lock lock{_mutex}; + return std::min(static_cast(_progress), size_t(100)); + } bool is_completed() const { return _completed; } diff --git a/include/indicators/progress_spinner.hpp b/include/indicators/progress_spinner.hpp index 6b62d13..c9671cd 100644 --- a/include/indicators/progress_spinner.hpp +++ b/include/indicators/progress_spinner.hpp @@ -93,7 +93,10 @@ public: _print_progress(); } - size_t current() { return std::min(static_cast(_progress), size_t(100)); } + size_t current() { + std::unique_lock lock{_mutex}; + return std::min(static_cast(_progress), size_t(100)); + } bool is_completed() const { return _completed; }