From 62046f9ab8783ed613d1644fd50c606120f67979 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 4 Feb 2021 17:04:43 -0800 Subject: [PATCH] modules/m_bridge: Elide io on empty picker kernels. --- modules/m_bridge.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/m_bridge.cc b/modules/m_bridge.cc index b58b4092a..e1597d311 100644 --- a/modules/m_bridge.cc +++ b/modules/m_bridge.cc @@ -527,8 +527,9 @@ ircd::m::bridge::pick_user(const config &config, }; // Bridged user is in the room. - return !members.for_each("join", my_host(), [&] - (const id::user &user_id) + return true + && !namespaces.empty() // avoid this query io if there's nothing to match. + && !members.for_each("join", my_host(), [&](const id::user &user_id) { return !pick_user(config, event_idx, event, namespaces, user_id); }); @@ -598,8 +599,9 @@ ircd::m::bridge::pick_alias(const config &config, room }; - return !aliases.for_each(my_host(), [&] - (const room::alias &alias) + return true + && !namespaces.empty() + && !aliases.for_each(my_host(), [&](const room::alias &alias) { return !pick_alias(config, event_idx, event, namespaces, alias); });