diff options
author | Josh Blum <josh@joshknows.com> | 2011-09-21 15:58:51 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-09-21 15:59:52 -0700 |
commit | 30cfade8252f2a82468227c1fb09aac635962fdd (patch) | |
tree | b1b9a6a4c2152ef6ecb7085443513e43b6fe1ca1 | |
parent | 1aec4b670607743deb1ac30aef928da8a60456c3 (diff) | |
download | uhd-30cfade8252f2a82468227c1fb09aac635962fdd.tar.gz uhd-30cfade8252f2a82468227c1fb09aac635962fdd.tar.bz2 uhd-30cfade8252f2a82468227c1fb09aac635962fdd.zip |
usrp: super packet handler release in order
Makes new usb implementation work where submissions must be in order.
-rw-r--r-- | host/lib/transport/super_recv_packet_handler.hpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/host/lib/transport/super_recv_packet_handler.hpp b/host/lib/transport/super_recv_packet_handler.hpp index 15bd78242..541c588e6 100644 --- a/host/lib/transport/super_recv_packet_handler.hpp +++ b/host/lib/transport/super_recv_packet_handler.hpp @@ -578,6 +578,13 @@ private: metadata.fragment_offset = info.fragment_offset_in_samps; info.fragment_offset_in_samps += nsamps_to_copy; //set for next call + //done with buffers? this action releases buffers in-order + if (not metadata.more_fragments){ + BOOST_FOREACH(per_buffer_info_type &buff_info, info){ + buff_info.buff.reset(); //effectively a release + } + } + return nsamps_to_copy_per_io_buff; } }; |