diff options
author | Tom Rondeau <tom@trondeau.com> | 2013-11-16 16:05:16 -0500 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-11-16 16:05:16 -0500 |
commit | a2f687824fa2887e116ab1e01d054b5e883e901c (patch) | |
tree | d099ae62ee69397f886f38bc57a61f97083979aa /gr-blocks/lib/udp_source_impl.cc | |
parent | f0eebb1aeeae4fa6a6602ca19162e66aede48264 (diff) | |
parent | 1b7fe57e0ce0e0fd9a23690072461123b6f955e8 (diff) |
Merge branch 'maint'
Diffstat (limited to 'gr-blocks/lib/udp_source_impl.cc')
-rw-r--r-- | gr-blocks/lib/udp_source_impl.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gr-blocks/lib/udp_source_impl.cc b/gr-blocks/lib/udp_source_impl.cc index 7f4a2af3d3..5fa06072ae 100644 --- a/gr-blocks/lib/udp_source_impl.cc +++ b/gr-blocks/lib/udp_source_impl.cc @@ -85,7 +85,8 @@ namespace gr { if(host.size() > 0) { boost::asio::ip::udp::resolver resolver(d_io_service); boost::asio::ip::udp::resolver::query query(boost::asio::ip::udp::v4(), - host, s_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); @@ -113,7 +114,9 @@ namespace gr { if(!d_connected) return; + d_io_service.reset(); d_io_service.stop(); + d_udp_thread.join(); d_socket->close(); delete d_socket; @@ -156,11 +159,11 @@ namespace gr { // Make sure we never go beyond the boundary of the // residual buffer. This will just drop the last bit of // data in the buffer if we've run out of room. - if((int)(d_residual + bytes_transferred) > (50*d_payload_size)) { + if((int)(d_residual + bytes_transferred) >= (50*d_payload_size)) { GR_LOG_WARN(d_logger, "Too much data; dropping packet."); } else { - // otherwise, copy receid data into local buffer for + // otherwise, copy received data into local buffer for // copying later. memcpy(d_residbuf+d_residual, d_rxbuf, bytes_transferred); d_residual += bytes_transferred; |