From 1edd53d03ed849691db68657d00cee7423a8cd29 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Wed, 23 Aug 2023 08:10:32 +0000 Subject: [PATCH] crimson/admin/admin_socket: remove path file if it exists Signed-off-by: Matan Breizman (cherry picked from commit 374de2a7622bf3fc75eceb24e39cf36a27ed8d1b) --- src/crimson/admin/admin_socket.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/crimson/admin/admin_socket.cc b/src/crimson/admin/admin_socket.cc index 88ce8b1b73c..9db91369a8b 100644 --- a/src/crimson/admin/admin_socket.cc +++ b/src/crimson/admin/admin_socket.cc @@ -236,6 +236,14 @@ seastar::future<> AdminSocket::start(const std::string& path) try { server_sock = seastar::engine().listen(sock_path); } catch (const std::system_error& e) { + if (e.code() == std::errc::address_in_use) { + logger().debug("{}: Admin Socket socket path={} already exists, retrying", + __func__, path); + return seastar::remove_file(path).then([this, path] { + server_sock.reset(); + return start(path); + }); + } logger().error("{}: unable to listen({}): {}", __func__, path, e.what()); server_sock.reset(); return seastar::make_ready_future<>(); -- 2.39.5