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<>();