diff options
Diffstat (limited to 'host/lib/usrp/b200')
-rw-r--r-- | host/lib/usrp/b200/b200_impl.hpp | 5 | ||||
-rw-r--r-- | host/lib/usrp/b200/b200_io_impl.cpp | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/host/lib/usrp/b200/b200_impl.hpp b/host/lib/usrp/b200/b200_impl.hpp index 8e23ea6a0..22e962bd5 100644 --- a/host/lib/usrp/b200/b200_impl.hpp +++ b/host/lib/usrp/b200/b200_impl.hpp @@ -120,6 +120,11 @@ private: uhd::transport::zero_copy_if::sptr _ctrl_transport; uhd::usrp::recv_packet_demuxer_3000::sptr _demux; + boost::weak_ptr<uhd::rx_streamer> _rx_streamer; + boost::weak_ptr<uhd::tx_streamer> _tx_streamer; + + boost::mutex _transport_setup_mutex; + //async ctrl + msgs uhd::msg_task::sptr _async_task; typedef uhd::transport::bounded_buffer<uhd::async_metadata_t> async_md_type; diff --git a/host/lib/usrp/b200/b200_io_impl.cpp b/host/lib/usrp/b200/b200_io_impl.cpp index cb32c610a..60b925517 100644 --- a/host/lib/usrp/b200/b200_io_impl.cpp +++ b/host/lib/usrp/b200/b200_io_impl.cpp @@ -364,6 +364,8 @@ boost::optional<uhd::msg_task::msg_type_t> b200_impl::handle_async_task( **********************************************************************/ rx_streamer::sptr b200_impl::get_rx_stream(const uhd::stream_args_t &args_) { + boost::mutex::scoped_lock lock(_transport_setup_mutex); + stream_args_t args = args_; //setup defaults for unspecified values @@ -472,6 +474,8 @@ void b200_impl::handle_overflow(const size_t radio_index) **********************************************************************/ tx_streamer::sptr b200_impl::get_tx_stream(const uhd::stream_args_t &args_) { + boost::mutex::scoped_lock lock(_transport_setup_mutex); + stream_args_t args = args_; //setup defaults for unspecified values |