diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-22 12:57:51 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-22 12:57:51 +0100 |
| commit | fa7a48172a3c9d9c2f96d6f9c05d80f497bc304d (patch) | |
| tree | 2c56890a3c0f12ca68ec16e120474ab6b0366bf9 /node | |
| parent | 4471b16ee9961f55086841204f91f5c172d917f6 (diff) | |
| download | cmix-fa7a48172a3c9d9c2f96d6f9c05d80f497bc304d.tar.gz cmix-fa7a48172a3c9d9c2f96d6f9c05d80f497bc304d.tar.bz2 cmix-fa7a48172a3c9d9c2f96d6f9c05d80f497bc304d.zip | |
Added pointer tracing, and fixes memeory leaks within a single run of cmix.
Diffstat (limited to 'node')
| -rw-r--r-- | node/node.cpp | 5 | ||||
| -rw-r--r-- | node/node_node.cpp | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/node/node.cpp b/node/node.cpp index cc5e47a..2310bc1 100644 --- a/node/node.cpp +++ b/node/node.cpp @@ -53,6 +53,10 @@ Node::Node(ListenSettings const& listen_settings, NodeNetworkSettings network_se } Node::~Node() { + for(auto pair : data) { + cmix_ctx.api.free_group_element(pair.second.shared_value); + pair.second.shared_value = nullptr; + } deinitialize(&cmix_ctx); } @@ -267,7 +271,6 @@ bool Node::send_bye(bool got_bye) if(!shutting_down) { next_node.async_send(cmix_proto::Bye()); } - io_service.stop(); return true; } else { next_node.async_send(cmix_proto::Bye()); diff --git a/node/node_node.cpp b/node/node_node.cpp index 0614914..f68b496 100644 --- a/node/node_node.cpp +++ b/node/node_node.cpp @@ -204,14 +204,13 @@ void Node::handle_node_secretkey(cmix_proto::SecretKey const& secret) { std::string share = secret.secret_key(); - set_network_key(&cmix_ctx, secret.secret_key().data(), secret.secret_key().size()); - if(network_settings.is_first) { timer.expires_from_now(boost::posix_time::seconds(4)); timer.async_wait([this](boost::system::error_code const& ec) { start_precomputation(); }); } else { + set_network_key(&cmix_ctx, secret.secret_key().data(), secret.secret_key().size()); next_node.async_send(secret); } } |
