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