diff options
author | Thomas Habets <thomas@habets.se> | 2020-08-30 13:26:41 +0100 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-09-22 21:48:57 +0200 |
commit | 9b4e6276897493c10067544b6469a0fa40d9402e (patch) | |
tree | 4f200bedd371255a2f970103af22180daeccfe8d /gr-zeromq/lib/pull_msg_source_impl.h | |
parent | ebf4b70e3fa9187c947b6b2f8352dafe36b7a77d (diff) |
zeromq: Remove manual memory management
I believe this fixes a memory leak, as the thread objects were never
deleted.
Diffstat (limited to 'gr-zeromq/lib/pull_msg_source_impl.h')
-rw-r--r-- | gr-zeromq/lib/pull_msg_source_impl.h | 8 |
1 files changed, 4 insertions, 4 deletions
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); } }; |