diff options
author | Mauro Sardara <msardara@cisco.com> | 2019-01-29 15:49:15 +0100 |
---|---|---|
committer | Michele Papalini <micpapal@cisco.com> | 2019-01-29 17:30:27 +0000 |
commit | 51ff9b669dff18c9300b9fe5bdef91e7040edac0 (patch) | |
tree | 286625282289580594c0ecf7dcf3df47a7ed8a18 /libtransport/src/hicn/transport/core/memif_connector.cc | |
parent | a2e898eae8086cded2acfa96347184b3aa88d316 (diff) |
[HICN-17] Add possibility to destroy connection directly from stopEventsLoop with an additional parameter.
Change-Id: I869a079a7b2f436768a62de66fd9281a7d1243cd
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/core/memif_connector.cc')
-rw-r--r-- | libtransport/src/hicn/transport/core/memif_connector.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libtransport/src/hicn/transport/core/memif_connector.cc b/libtransport/src/hicn/transport/core/memif_connector.cc index b3785e5c3..6c5f2ff5f 100644 --- a/libtransport/src/hicn/transport/core/memif_connector.cc +++ b/libtransport/src/hicn/transport/core/memif_connector.cc @@ -38,7 +38,6 @@ MemifConnector::MemifConnector(PacketReceivedCallback &&receive_callback, timer_set_(false), send_timer_(std::make_unique<utils::FdDeadlineTimer>(event_reactor_)), io_service_(io_service), - work_(std::make_unique<asio::io_service::work>(io_service_)), packet_counter_(0), memif_connection_({}), tx_buf_counter_(0), @@ -74,6 +73,8 @@ void MemifConnector::connect(uint32_t memif_id, long memif_mode) { createMemif(memif_id, memif_mode, nullptr); + work_ = std::make_unique<asio::io_service::work>(io_service_); + while (is_connecting_) { MemifConnector::main_event_reactor_.runOneEvent(); } @@ -402,7 +403,7 @@ void MemifConnector::close() { if (!closed_) { closed_ = true; event_reactor_.stop(); - io_service_.stop(); + work_.reset(); if (memif_worker_ && memif_worker_->joinable()) { memif_worker_->join(); |