summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/udp_source_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/lib/udp_source_impl.cc')
-rw-r--r--gr-blocks/lib/udp_source_impl.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gr-blocks/lib/udp_source_impl.cc b/gr-blocks/lib/udp_source_impl.cc
index e62c2b0df1..7f4a2af3d3 100644
--- a/gr-blocks/lib/udp_source_impl.cc
+++ b/gr-blocks/lib/udp_source_impl.cc
@@ -186,7 +186,9 @@ namespace gr {
// because the conditional wait is interruptable while a
// synchronous receive_from is not.
boost::unique_lock<boost::mutex> lock(d_udp_mutex);
- d_cond_wait.wait(lock);
+
+ //use timed_wait to avoid permanent blocking in the work function
+ d_cond_wait.timed_wait(lock, boost::posix_time::milliseconds(10));
if(d_residual < 0)
return -1;