]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/admin/admin_socket: remove path file if it exists
authorMatan Breizman <mbreizma@redhat.com>
Wed, 23 Aug 2023 08:10:32 +0000 (08:10 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Wed, 11 Oct 2023 11:52:50 +0000 (11:52 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 374de2a7622bf3fc75eceb24e39cf36a27ed8d1b)

src/crimson/admin/admin_socket.cc

index 88ce8b1b73c29ac7886d0c90a2a4353606295d68..9db91369a8b5011a6fc344a239eedb343efe6b70 100644 (file)
@@ -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<>();