aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2018-02-08 09:43:38 -0800
committerMartin Braun <martin.braun@ettus.com>2018-02-09 21:05:09 +0100
commit2d33bdc6fb81053077b061e774a1787d5f5fa462 (patch)
treea5f4aef6d8c694f3d4aaea781aa7445c3ce6ad89 /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
parent43969f4758ed00198de96c39e161128e00eb20ff (diff)
downloaduhd-2d33bdc6fb81053077b061e774a1787d5f5fa462.tar.gz
uhd-2d33bdc6fb81053077b061e774a1787d5f5fa462.tar.bz2
uhd-2d33bdc6fb81053077b061e774a1787d5f5fa462.zip
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.
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp')
-rw-r--r--host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp4
1 files changed, 4 insertions, 0 deletions
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