diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc index 070f0d46f..0d450d469 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc @@ -1530,11 +1530,12 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un { boost::mutex::scoped_lock lock(d_mutex); d_worker_is_done = false; + l.unlock(); while (!d_worker_is_done) { d_m_condition.wait(lock); } - + l.lock(); // Signal alignment (skip samples until the incoming signal is aligned with local replica) int64_t acq_trk_diff_samples; double acq_trk_diff_seconds;