summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-blocks/lib/udp_source_impl.cc5
-rw-r--r--gr-blocks/lib/udp_source_impl.h3
2 files changed, 5 insertions, 3 deletions
diff --git a/gr-blocks/lib/udp_source_impl.cc b/gr-blocks/lib/udp_source_impl.cc
index 230ec907b3..fc907b7722 100644
--- a/gr-blocks/lib/udp_source_impl.cc
+++ b/gr-blocks/lib/udp_source_impl.cc
@@ -19,6 +19,7 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
+#include <boost/make_unique.hpp>
#include <stdexcept>
namespace gr {
@@ -73,7 +74,7 @@ void udp_source_impl::connect(const std::string& host, int port)
d_host, s_port, boost::asio::ip::resolver_query_base::passive);
d_endpoint = *resolver.resolve(query);
- d_socket = new boost::asio::ip::udp::socket(d_io_service);
+ d_socket = boost::make_unique<boost::asio::ip::udp::socket>(d_io_service);
d_socket->open(d_endpoint.protocol());
boost::asio::socket_base::reuse_address roption(true);
@@ -100,7 +101,7 @@ void udp_source_impl::disconnect()
d_udp_thread.join();
d_socket->close();
- delete d_socket;
+ d_socket.reset();
d_connected = false;
}
diff --git a/gr-blocks/lib/udp_source_impl.h b/gr-blocks/lib/udp_source_impl.h
index 418a19b37d..a0e8caa1d9 100644
--- a/gr-blocks/lib/udp_source_impl.h
+++ b/gr-blocks/lib/udp_source_impl.h
@@ -15,6 +15,7 @@
#include <gnuradio/thread/thread.h>
#include <boost/asio.hpp>
#include <boost/format.hpp>
+#include <memory>
namespace gr {
namespace blocks {
@@ -37,7 +38,7 @@ private:
std::string d_host;
unsigned short d_port;
- boost::asio::ip::udp::socket* d_socket;
+ std::unique_ptr<boost::asio::ip::udp::socket> d_socket;
boost::asio::ip::udp::endpoint d_endpoint;
boost::asio::ip::udp::endpoint d_endpoint_rcvd;
boost::asio::io_service d_io_service;