From ae509ad14e6c63bfd784ed224cf807fa2cfe7e61 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 9 Jan 2026 07:52:26 -0400 Subject: [PATCH] MT#55283 fix deadlock retry logic Change-Id: I6f4162f724e527828f4f14e26746dff7d43562f5 (cherry picked from commit fede2a051e2f6a237012e7ba7c4e0eedf01f5bee) --- daemon/media_socket.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 39db454fb..94fb4ea6e 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1904,14 +1904,14 @@ static void kernelize(struct packet_stream *stream) { continue; bool ok = kernelize_one_sink_handler(&s, stream, sh); if (!ok) - continue; // retry + goto retry; } // RTP egress mirrors for (__auto_type l = stream->rtp_mirrors.head; l; l = l->next) { struct sink_handler *sh = l->data; bool ok = kernelize_one_sink_handler(&s, stream, sh); if (!ok) - continue; // retry + goto retry; } // RTP -> RTCP sinks // record number of RTP destinations up to now @@ -1922,7 +1922,7 @@ static void kernelize(struct packet_stream *stream) { struct sink_handler *sh = l->data; bool ok = kernelize_one_sink_handler(&s, stream, sh); if (!ok) - continue; // retry + goto retry; } // mark the start of RTCP outputs s.reti.num_rtcp_destinations = s.reti.num_destinations - num_rtp_dests; @@ -1954,6 +1954,7 @@ no_kernel: PS_SET(stream, NO_KERNEL_SUPPORT); return; +retry:; } }