]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: use seastar::deferred_stop() 46669/head
authorKefu Chai <tchaikov@gmail.com>
Tue, 14 Jun 2022 16:31:09 +0000 (00:31 +0800)
committerKefu Chai <tchaikov@gmail.com>
Tue, 14 Jun 2022 16:32:22 +0000 (00:32 +0800)
trade `seastar::defer()` for `seastar::deferred_stop()` to
simplify the code a little bit.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/crimson/osd/main.cc

index 9076a58f3097af2a48264d80af9fa0c8fe8702ec..823c82c03b17eeeb5761c129f1c5cc6efbf2cdca 100644 (file)
@@ -14,6 +14,7 @@
 #include <seastar/core/thread.hh>
 #include <seastar/http/httpd.hh>
 #include <seastar/net/inet_address.hh>
+#include <seastar/util/closeable.hh>
 #include <seastar/util/defer.hh>
 #include <seastar/util/std-compat.hh>
 
@@ -228,13 +229,9 @@ int main(int argc, const char* argv[])
             );
          }
           sharded_conf().start(init_params.name, cluster_name).get();
-          auto stop_conf = seastar::defer([] {
-            sharded_conf().stop().get();
-          });
+          auto stop_conf = seastar::deferred_stop(sharded_conf());
           sharded_perf_coll().start().get();
-          auto stop_perf_coll = seastar::defer([] {
-            sharded_perf_coll().stop().get();
-          });
+          auto stop_perf_coll = seastar::deferred_stop(sharded_perf_coll());
           local_conf().parse_config_files(conf_file_list).get();
           local_conf().parse_env().get();
           local_conf().parse_argv(config_proxy_args).get();
@@ -256,9 +253,7 @@ int main(int argc, const char* argv[])
           if (uint16_t prom_port = config["prometheus_port"].as<uint16_t>();
               prom_port != 0) {
             prom_server.start("prometheus").get();
-            stop_prometheus = seastar::make_shared(seastar::defer([&] {
-              prom_server.stop().get();
-            }));
+            stop_prometheus = seastar::make_shared(seastar::deferred_stop(prom_server));
 
             seastar::prometheus::config prom_config;
             prom_config.prefix = config["prometheus_prefix"].as<std::string>();
@@ -294,9 +289,7 @@ int main(int argc, const char* argv[])
                            std::ref(*store),
                            cluster_msgr, client_msgr,
                            hb_front_msgr, hb_back_msgr).get();
-          auto stop_osd = seastar::defer([&] {
-            osd.stop().get();
-          });
+          auto stop_osd = seastar::deferred_stop(osd);
           if (config.count("mkkey")) {
             make_keyring().get();
           }