From e9820827e373db705ecb11bd2aad0fb37ca61848 Mon Sep 17 00:00:00 2001 From: Calle Wilund Date: Tue, 29 Jun 2021 09:41:57 +0000 Subject: [PATCH] commitlog: coroutinize segment::close --- db/commitlog/commitlog.cc | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/db/commitlog/commitlog.cc b/db/commitlog/commitlog.cc index f52109c16d..a79f2e58ea 100644 --- a/db/commitlog/commitlog.cc +++ b/db/commitlog/commitlog.cc @@ -708,14 +708,11 @@ public: } future close() { _closed = true; - return sync().then([] (sseg_ptr s) { - return s->flush(); - }).then([](sseg_ptr s) { - return s->terminate(); - }).then([](sseg_ptr s) { - s->_segment_manager->totals.wasted_size_on_disk += (s->_size_on_disk - s->file_position()); - return s; - }); + auto s = co_await sync(); + co_await flush(); + co_await terminate(); + _segment_manager->totals.wasted_size_on_disk += (_size_on_disk - file_position()); + co_return s; } future do_flush(uint64_t pos) { auto me = shared_from_this();