From a4da3a2b832b2df01f2db1d32a5c369c0ad89818 Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Sat, 7 Nov 2020 23:30:45 -0800 Subject: [PATCH] ircd::m::dbs: Add runlevel QUIT handler for bgcancel(events). --- matrix/dbs.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/matrix/dbs.cc b/matrix/dbs.cc index c5fe6ccd2..b3564b9fe 100644 --- a/matrix/dbs.cc +++ b/matrix/dbs.cc @@ -153,6 +153,18 @@ noexcept fs::base::db.set(their_dbpath); } +/// Cancels all background work by the events database. This will make the +/// database shutdown more fluid, without waiting for large compactions. +static const ircd::run::changed +ircd_m_dbs_handle_quit +{ + ircd::run::level::QUIT, [] + { + if(ircd::m::dbs::events) + ircd::db::bgcancel(*ircd::m::dbs::events, false); // non-blocking + } +}; + // // write_opts //