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/usrp1/soft_time_ctrl.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/usrp1/soft_time_ctrl.cpp')
-rw-r--r-- | host/lib/usrp/usrp1/soft_time_ctrl.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.cpp b/host/lib/usrp/usrp1/soft_time_ctrl.cpp index bb8b3a704..9cef99a60 100644 --- a/host/lib/usrp/usrp1/soft_time_ctrl.cpp +++ b/host/lib/usrp/usrp1/soft_time_ctrl.cpp @@ -199,8 +199,9 @@ public: void recv_cmd_task(void){ //task is looped boost::shared_ptr<stream_cmd_t> cmd; - _cmd_queue.pop_with_wait(cmd); - recv_cmd_handle_cmd(*cmd); + if (_cmd_queue.pop_with_timed_wait(cmd, 0.25)) { + recv_cmd_handle_cmd(*cmd); + } } bounded_buffer<async_metadata_t> &get_async_queue(void){ |