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:
Gleb Natapov
2015-11-03 13:09:49 +02:00
committed by Tomasz Grabiec
parent 7a2ac628a0
commit 28bb6a3efe
2 changed files with 2 additions and 2 deletions

View File

@@ -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([] {

View File

@@ -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