]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/net: simplify error handling in FixedCPUServerSocket::listen().
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 8 Sep 2021 15:54:23 +0000 (15:54 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 9 Sep 2021 06:41:11 +0000 (06:41 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/net/Socket.cc

index 990c191a250dbc09dbb4d1f87e16e84d29520452..a2a7b1701b81bacf29cb263751efd4f887c96785 100644 (file)
@@ -211,22 +211,16 @@ FixedCPUServerSocket::listen(entity_addr_t addr)
     lo.set_fixed_cpu(ss.cpu);
     ss.listener = seastar::listen(s_addr, lo);
   }).then([] {
-    return true;
-  }).handle_exception_type([addr] (const std::system_error& e) {
+    return listen_ertr::now();
+  }).handle_exception_type(
+    [addr] (const std::system_error& e) -> listen_ertr::future<> {
     if (e.code() == std::errc::address_in_use) {
       logger().trace("FixedCPUServerSocket::listen({}): address in use", addr);
-    } else {
-      logger().error("FixedCPUServerSocket::listen({}): "
-                     "got unexpeted error {}", addr, e);
-      ceph_abort();
-    }
-    return false;
-  }).then([] (bool success) -> listen_ertr::future<> {
-    if (success) {
-      return listen_ertr::now();
-    } else {
       return crimson::ct_error::address_in_use::make();
     }
+    logger().error("FixedCPUServerSocket::listen({}): "
+                   "got unexpeted error {}", addr, e);
+    ceph_abort();
   });
 }