summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib/pull_msg_source_impl.h
diff options
context:
space:
mode:
authorThomas Habets <thomas@habets.se>2020-08-30 13:26:41 +0100
committerMarcus Müller <marcus@hostalia.de>2020-09-22 21:48:57 +0200
commit9b4e6276897493c10067544b6469a0fa40d9402e (patch)
tree4f200bedd371255a2f970103af22180daeccfe8d /gr-zeromq/lib/pull_msg_source_impl.h
parentebf4b70e3fa9187c947b6b2f8352dafe36b7a77d (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.h8
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);
}
};