diff --git a/reader_concurrency_semaphore.hh b/reader_concurrency_semaphore.hh index 89a6fea969..b4e34f2ae6 100644 --- a/reader_concurrency_semaphore.hh +++ b/reader_concurrency_semaphore.hh @@ -105,6 +105,7 @@ private: }; private: + const resources _initial_resources; resources _resources; expiring_fifo _wait_list; @@ -135,7 +136,8 @@ public: sstring name, size_t max_queue_length = std::numeric_limits::max(), std::function prethrow_action = nullptr) - : _resources(count, memory) + : _initial_resources(count, memory) + , _resources(count, memory) , _wait_list(expiry_handler(name)) , _name(std::move(name)) , _max_queue_length(max_queue_length) @@ -193,6 +195,10 @@ public: reader_permit make_permit(); + const resources initial_resources() const { + return _initial_resources; + } + const resources available_resources() const { return _resources; }