diff options
Diffstat (limited to 'host/lib/transport')
-rw-r--r-- | host/lib/transport/super_recv_packet_handler.hpp | 2 | ||||
-rw-r--r-- | host/lib/transport/super_send_packet_handler.hpp | 1 | ||||
-rw-r--r-- | host/lib/transport/usb_zero_copy_wrapper.cpp | 5 |
3 files changed, 4 insertions, 4 deletions
diff --git a/host/lib/transport/super_recv_packet_handler.hpp b/host/lib/transport/super_recv_packet_handler.hpp index 74fbe82fb..205c7a3a3 100644 --- a/host/lib/transport/super_recv_packet_handler.hpp +++ b/host/lib/transport/super_recv_packet_handler.hpp @@ -306,7 +306,7 @@ private: #endif //3) check for out of order timestamps - if (info.ifpi.has_tsi and info.ifpi.has_tsf and prev_buffer_info[index].time > info.time){ + if (info.ifpi.has_tsf and prev_buffer_info[index].time > info.time){ return PACKET_TIMESTAMP_ERROR; } diff --git a/host/lib/transport/super_send_packet_handler.hpp b/host/lib/transport/super_send_packet_handler.hpp index 46c98afea..8a4fce11e 100644 --- a/host/lib/transport/super_send_packet_handler.hpp +++ b/host/lib/transport/super_send_packet_handler.hpp @@ -242,6 +242,7 @@ private: //commit the samples to the zero-copy interface size_t num_bytes_total = (_header_offset_words32+if_packet_info.num_packet_words32)*sizeof(boost::uint32_t); buff->commit(num_bytes_total); + buff.reset(); //effectively a release } _next_packet_seq++; //increment sequence after commits diff --git a/host/lib/transport/usb_zero_copy_wrapper.cpp b/host/lib/transport/usb_zero_copy_wrapper.cpp index 690e5aaa2..3571ed856 100644 --- a/host/lib/transport/usb_zero_copy_wrapper.cpp +++ b/host/lib/transport/usb_zero_copy_wrapper.cpp @@ -35,10 +35,9 @@ public: _queue(queue){/*NOP*/} void release(void){ - if (_mrb.get() == NULL) return; - _mrb->release(); + if (not _mrb) return; + _mrb.reset(); //decrement ref count, other MRB's may hold a ref _queue.push_with_haste(this); - _mrb.reset(); } UHD_INLINE sptr get_new(managed_recv_buffer::sptr mrb, const void *mem, size_t len){ |