From 2d33bdc6fb81053077b061e774a1787d5f5fa462 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 8 Feb 2018 09:43:38 -0800 Subject: mg: Temporarily disable concurrency in parts of set_rpc_client() There is an issue with parallel inits and liberio which crops up during initialization. This is not a fix but is a workaround which enables the parallel initialization of devices using liberio. --- host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp') diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp index d12666ce7..e3cfe03e3 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp @@ -142,6 +142,10 @@ public: size_t get_chan_from_dboard_fe(const std::string &fe, const direction_t dir); std::string get_dboard_fe_from_chan(const size_t chan, const direction_t dir); + //! Disable concurrency in set_rpc_client(). This is a workaround for a + // thread-unsafety bug and should get deleted at some point in the future! + static std::mutex _set_rpc_lock; // FIXME remove this + void set_rpc_client( uhd::rpc_client::sptr rpcc, const uhd::device_addr_t &block_args -- cgit v1.2.3