messaging_service: fix hanging reference access
Do not pass reference to an on-stack objects to a function that uses its parameters asynchronously.
This commit is contained in:
committed by
Tomasz Grabiec
parent
7a2ac628a0
commit
28bb6a3efe
2
init.cc
2
init.cc
@@ -46,7 +46,7 @@ future<> init_storage_service(distributed<database>& db) {
|
||||
future<> init_ms_fd_gossiper(sstring listen_address, uint16_t port, db::seed_provider_type seed_provider, sstring cluster_name) {
|
||||
const gms::inet_address listen(listen_address);
|
||||
// Init messaging_service
|
||||
return net::get_messaging_service().start(listen, std::ref(port)).then([]{
|
||||
return net::get_messaging_service().start(listen, std::move(port)).then([]{
|
||||
// #293 - do not stop anything
|
||||
//engine().at_exit([] { return net::get_messaging_service().stop(); });
|
||||
}).then([] {
|
||||
|
||||
@@ -59,7 +59,7 @@ static future<> tst_init_storage_service(distributed<database>& db) {
|
||||
static future<> tst_init_ms_fd_gossiper(sstring listen_address, uint16_t port, db::seed_provider_type seed_provider, sstring cluster_name = "Test Cluster") {
|
||||
const gms::inet_address listen(listen_address);
|
||||
// Init messaging_service
|
||||
return net::get_messaging_service().start(listen, std::ref(port)).then([]{
|
||||
return net::get_messaging_service().start(listen, std::move(port)).then([]{
|
||||
engine().at_exit([] { return net::get_messaging_service().stop(); });
|
||||
}).then([] {
|
||||
// Init failure_detector
|
||||
|
||||
Reference in New Issue
Block a user