Fix memory leak caught by LSAN

This commit is contained in:
Tyler Neely
2022-07-08 11:04:44 +00:00
parent 25b0a445b9
commit eee2a7e019
3 changed files with 17 additions and 4 deletions

View File

@@ -44,17 +44,18 @@ int main() {
// send request
RequestMsg cli_req;
cli_req.data = "hello";
ResponseFuture<ResponseMsg> response_future = cli_io.template Request<RequestMsg, ResponseMsg>(srv_addr, cli_req);
ResponseFuture<ResponseMsg> response_future = cli_io.Request<RequestMsg, ResponseMsg>(srv_addr, cli_req);
// receive request
RequestResult<RequestMsg> request_result = srv_io.template Receive<RequestMsg>();
RequestResult<RequestMsg> request_result = srv_io.Receive<RequestMsg>();
auto request_envelope = request_result.GetValue();
RequestMsg req = std::get<RequestMsg>(request_envelope.message);
auto srv_res = ResponseMsg{req.data};
// send response
srv_io.Send(request_envelope.from_address, request_envelope.request_id, srv_res);
// srv_io.Send(request_envelope.from_address, request_envelope.request_id, srv_res);
request_envelope.Reply(srv_res, srv_io);
// receive response
auto response_result = response_future.Wait();
@@ -62,5 +63,7 @@ int main() {
MG_ASSERT(response_envelope.message.data == "hello");
std::cout << "IT WORKED :)" << std::endl;
return 0;
}