diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-04-21 22:33:16 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-06-28 15:54:39 -0700 |
commit | cb1649d201e41c85ed77256712309706ed1a805d (patch) | |
tree | 1aaa11ac2bba1eb95edc9303b3ad42fc254913d5 /host/lib/usrp/usrp2/usrp2_impl.cpp | |
parent | f19e4602f10fb86dceb4d65d75741f98a054a7df (diff) | |
download | uhd-cb1649d201e41c85ed77256712309706ed1a805d.tar.gz uhd-cb1649d201e41c85ed77256712309706ed1a805d.tar.bz2 uhd-cb1649d201e41c85ed77256712309706ed1a805d.zip |
uhd: tasks now use std::threads under the hood, and can't be interrupted
USRP1 and USRP2 used tasks that relied on Boost thread interruption
mechanisms. These were replaced with explicit atomics.
Diffstat (limited to 'host/lib/usrp/usrp2/usrp2_impl.cpp')
-rw-r--r-- | host/lib/usrp/usrp2/usrp2_impl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index 78a9acb72..9ee13d289 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -316,7 +316,8 @@ static zero_copy_if::sptr make_xport( * Structors **********************************************************************/ usrp2_impl::usrp2_impl(const device_addr_t &_device_addr) : - device_addr(_device_addr) + device_addr(_device_addr), + _pirate_task_exit(false) { UHD_LOGGER_INFO("USRP2") << "Opening a USRP2/N-Series device..."; @@ -786,6 +787,7 @@ usrp2_impl::usrp2_impl(const device_addr_t &_device_addr) : } usrp2_impl::~usrp2_impl(void){UHD_SAFE_CALL( + _pirate_task_exit = true; for(const std::string &mb: _mbc.keys()){ _mbc[mb].tx_dsp->set_updates(0, 0); } |