From 9b4e6276897493c10067544b6469a0fa40d9402e Mon Sep 17 00:00:00 2001 From: Thomas Habets <thomas@habets.se> Date: Sun, 30 Aug 2020 13:26:41 +0100 Subject: zeromq: Remove manual memory management I believe this fixes a memory leak, as the thread objects were never deleted. --- gr-zeromq/lib/pull_msg_source_impl.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gr-zeromq/lib/pull_msg_source_impl.h') diff --git a/gr-zeromq/lib/pull_msg_source_impl.h b/gr-zeromq/lib/pull_msg_source_impl.h index 4d84b11119..0680284253 100644 --- a/gr-zeromq/lib/pull_msg_source_impl.h +++ b/gr-zeromq/lib/pull_msg_source_impl.h @@ -21,9 +21,9 @@ class pull_msg_source_impl : public pull_msg_source { private: int d_timeout; // microseconds, -1 is blocking - zmq::context_t* d_context; - zmq::socket_t* d_socket; - boost::thread* d_thread; + zmq::context_t d_context; + zmq::socket_t d_socket; + std::unique_ptr<boost::thread> d_thread; const pmt::pmt_t d_port; void readloop(); @@ -41,7 +41,7 @@ public: { char addr[256]; size_t addr_len = sizeof(addr); - d_socket->getsockopt(ZMQ_LAST_ENDPOINT, addr, &addr_len); + d_socket.getsockopt(ZMQ_LAST_ENDPOINT, addr, &addr_len); return std::string(addr, addr_len - 1); } }; -- cgit v1.2.3