summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-01-12 16:27:42 +0100
committerGitHub <noreply@github.com>2023-01-12 16:27:42 +0100
commit58c3b3da4982e527bde49e13fa091315ebcf28e3 (patch)
tree76b267c2659b7948d8535f19214dbaa938b533c8 /storage
parent8898b97886e8a812fd7e19ba77c0204f4970f20e (diff)
Revert "No need to notify if bucket is already locked"
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
index e8cc8a499a3..5886172b9cd 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
@@ -1114,7 +1114,14 @@ FileStorHandlerImpl::Stripe::schedule_and_get_next_async_message(MessageEntry en
std::unique_lock guard(*_lock);
_queue->emplace_back(std::move(entry));
update_cached_queue_size(guard);
- return get_next_async_message(guard);
+ auto lockedMessage = get_next_async_message(guard);
+ if ( ! lockedMessage.msg) {
+ if (guard.owns_lock()) {
+ guard.unlock();
+ }
+ _cond->notify_all();
+ }
+ return lockedMessage;
}
void