aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/soft_time_ctrl.cpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-04-21 22:33:16 -0700
committerMartin Braun <martin.braun@ettus.com>2017-06-28 15:54:39 -0700
commitcb1649d201e41c85ed77256712309706ed1a805d (patch)
tree1aaa11ac2bba1eb95edc9303b3ad42fc254913d5 /host/lib/usrp/usrp1/soft_time_ctrl.cpp
parentf19e4602f10fb86dceb4d65d75741f98a054a7df (diff)
downloaduhd-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.cpp5
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){