dragonflight/services/capture/deltacast-bridge
ZGaetano 7d704d3af3 fix(deltacast-bridge): serialize VHD_OpenBoardHandle via flock to prevent BufMngr wedge
Concurrent VHD_OpenBoardHandle calls from multiple capture sidecars
trigger delta_x300 BufMngr.c:781 array-index-out-of-bounds, wedging all
RX channels until the module is reloaded. The node-agent stagger only
delays container start — the bridge binary starts ~2s later and can still
race. This fix acquires an exclusive flock on /dev/shm/deltacast/bridge.lock
before VHD_OpenBoardHandle and holds it until signal lock succeeds (then
adds a 4s settle before releasing so the board's buffer queues stabilize).
Lock is released on signal failure too so the next bridge is never
permanently blocked. All 8 channels can now start safely by serializing
through the same lock file mounted into every sidecar.
2026-06-01 18:54:00 -04:00
..
CMakeLists.txt build(capture): add CMakeLists for deltacast-capture bridge binary 2026-06-01 07:47:32 -04:00
main.c fix(deltacast-bridge): serialize VHD_OpenBoardHandle via flock to prevent BufMngr wedge 2026-06-01 18:54:00 -04:00