From 2a978d5647026439d345da91601d77a91c6a9a91 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 14 Sep 2018 14:40:03 -0400 Subject: [PATCH] crimson/net: messenger uses dispatch gate for reset callbacks Signed-off-by: Casey Bodley --- src/crimson/net/SocketMessenger.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/crimson/net/SocketMessenger.cc b/src/crimson/net/SocketMessenger.cc index 0a8173d8e20d4..6ad0487ea6e76 100644 --- a/src/crimson/net/SocketMessenger.cc +++ b/src/crimson/net/SocketMessenger.cc @@ -59,9 +59,13 @@ seastar::future<> SocketMessenger::dispatch(ConnectionRef conn) }).handle_exception_type([=] (const std::system_error& e) { if (e.code() == error::connection_aborted || e.code() == error::connection_reset) { - dispatcher->ms_handle_reset(conn); + return seastar::with_gate(pending_dispatch, [=] { + return dispatcher->ms_handle_reset(conn); + }); } else if (e.code() == error::read_eof) { - dispatcher->ms_handle_remote_reset(conn); + return seastar::with_gate(pending_dispatch, [=] { + return dispatcher->ms_handle_remote_reset(conn); + }); } else { throw e; } -- 2.39.5