Skip to content

Commit 7107c32

Browse files
committed
crimson/tools: remove usage of deprecated function at_exit()
at_exit() is now deprecated, in place of that we will explicitly call stop() for the sharded objects. Signed-off-by: Aishwarya Mathuria <[email protected]>
1 parent eeb0f96 commit 7107c32

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

src/crimson/tools/perf_crimson_msgr.cc

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,16 @@ seastar::logger& logger() {
4444
return crimson::get_logger(ceph_subsys_ms);
4545
}
4646

47+
template <typename T>
48+
static std::list<seastar::lw_shared_ptr<seastar::sharded<T>>> sharded_objects;
49+
4750
template <typename T, typename... Args>
4851
seastar::future<T*> create_sharded(Args... args) {
4952
// seems we should only construct/stop shards on #0
5053
return seastar::smp::submit_to(0, [=] {
5154
auto sharded_obj = seastar::make_lw_shared<seastar::sharded<T>>();
55+
sharded_objects<T>.push_back(sharded_obj);
5256
return sharded_obj->start(args...).then([sharded_obj]() {
53-
seastar::engine().at_exit([sharded_obj]() {
54-
return sharded_obj->stop().then([sharded_obj] {});
55-
});
5657
return sharded_obj.get();
5758
});
5859
}).then([] (seastar::sharded<T> *ptr_shard) {
@@ -1167,8 +1168,23 @@ static seastar::future<> run(
11671168
});
11681169
}
11691170
}).finally([] {
1170-
return crimson::common::sharded_conf().stop();
1171+
return seastar::smp::submit_to(0, [] {
1172+
return seastar::do_for_each(sharded_objects<test_state::Server>,
1173+
[](auto& sharded_obj) {
1174+
return sharded_obj->stop();
1175+
}).then([] {
1176+
return seastar::do_for_each(sharded_objects<test_state::Client>,
1177+
[](auto& sharded_obj) {
1178+
return sharded_obj->stop();
1179+
});
1180+
});
1181+
}).then([] {
1182+
sharded_objects<test_state::Server>.clear();
1183+
sharded_objects<test_state::Client>.clear();
1184+
return crimson::common::sharded_conf().stop();
1185+
});
11711186
});
1187+
11721188
}
11731189

11741190
}

0 commit comments

Comments
 (0)