uhd/host
Roman Pope ec86cd7b2c lib: Fix lost wakeup in msg_task startup
msg_task_impl's constructor waits on _start_cv until _running is set,
checking the predicate under _mutex. task_loop() set _running and
called notify_one() without taking _mutex, so a notification sent
after the constructor had checked the predicate but before it started
to wait was lost, and the constructor then blocked forever.

The condition-variable handshake replaced a boost::barrier, which
cannot lose a wakeup, in 3855516f6f ("lib: Remove boost::thread usage
from USB transports"), so UHD 4.10.0.0 and 4.11.0.0 are affected. On
a B210 the hang leaves b200_impl's constructor blocked in
msg_task::make() right after "Operating over USB 3.". It shows up
most when the device is opened at a real-time priority, as SDR
applications that raise their priority before opening the device do.

Set _running while holding _mutex, then notify.
2026-09-29 10:49:42 +02:00
..
cmake cmake: Bump master to 4.11.1 2026-09-15 23:47:53 +01:00
docs doc: Extend x4xx loading the fpga image section. 2026-09-08 10:06:38 +01:00
examples examples: optionally wait for Tx EOB on benchmark_rate 2026-09-22 15:13:03 +02:00
include cmake: Add missing log_add_impl.hpp to distributed headers 2026-09-29 10:47:51 +02:00
lib lib: Fix lost wakeup in msg_task startup 2026-09-29 10:49:42 +02:00
python uhd: remove rj45 argument from X420 IQ correction 2026-08-27 08:40:35 +01:00
tests tests: replace .format() usage with f-strings 2026-09-22 15:19:41 +02:00
utils image builder: find FPGA path from Git repository root 2026-09-18 16:05:51 +01:00
.gitignore Move ignore of build folders into top level 2025-07-18 11:19:52 +02:00
CMakeLists.txt host/mpm: replace mpRPC with gRPC transport 2026-07-09 12:12:04 +02:00
LICENSE uhd/host: clarifying LICENSE file 2014-04-10 12:44:42 -07:00
README.md host: fixed mailing list URL in readme 2025-01-21 08:08:56 +01:00
uhd.pc.in pkg-config: Remove boost_system library from linker flags 2025-09-24 11:35:07 +02:00

Host UHD™ Software Source Code

This directory tree contains the source code that builds the UHD software library on your host computer. This library contains the drivers for all Ettus Research products, and the framework and API that make them usable to application-level programs. The UHD library runs entirely in user-space.

Documentation

For documentation, please refer to the following resources:

For technical documentation related to our devices and UHD check out the UHD and USRP Manual.

Additionally, be sure to check out the Ettus Research FAQ, and the Knowledge Base for useful application notes and tutorials.

Support

If you have purchased an Ettus Research USRP™ product and need technical support using the device or using this UHD™ software, please e-mail the USRP-Users mailing list, which is where Ettus Research, and our community, provide support to users.

Note that you must be subscribed to the list in order to post a message to the list. This is to prevent spammers from just sending garbage messages out over the listserve.