Unverified Commit d41a9e43 authored by Joseph Noir's avatar Joseph Noir Committed by GitHub

Merge pull request #934

Fix error handling in remote_group
parents c525c605 3012486d
......@@ -222,8 +222,7 @@ expected<group> middleman::remote_group(const std::string& group_identifier,
const std::set<std::string>&) mutable {
auto hdl = actor_cast<actor>(ptr);
self->request(hdl, infinite, get_atom::value, group_identifier)
.then(
[=](group& result) mutable { rp.deliver(std::move(result)); });
.then([=](group& grp) mutable { rp.deliver(std::move(grp)); });
});
},
};
......@@ -231,11 +230,12 @@ expected<group> middleman::remote_group(const std::string& group_identifier,
// Spawn the helper actor and wait for the result.
expected<group> result{sec::cannot_connect_to_node};
scoped_actor self{system(), true};
self
->request(self->spawn<lazy_init>(two_step_lookup, actor_handle()), infinite,
get_atom::value)
.receive([&](group& grp) { result = std::move(grp); },
[&](error& err) { result = std::move(err); });
auto worker = self->spawn<lazy_init + monitored>(two_step_lookup,
actor_handle());
self->send(worker, get_atom::value);
self->receive([&](group& grp) { result = std::move(grp); },
[&](error& err) { result = std::move(err); },
[&](down_msg& dm) { result = std::move(dm.reason); });
return result;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment