From b8f9e0efc8ee6975116bd0537786f2859abf2aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 11 Aug 2020 12:20:56 +0300 Subject: [PATCH] threadshare/udpsink: Don't hold settings lock while getting clients property Otherwise we can deadlock between this and render(). --- generic/threadshare/src/udpsink.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/generic/threadshare/src/udpsink.rs b/generic/threadshare/src/udpsink.rs index 833822ac..46fa1c23 100644 --- a/generic/threadshare/src/udpsink.rs +++ b/generic/threadshare/src/udpsink.rs @@ -1380,6 +1380,8 @@ impl ObjectImpl for UdpSink { subclass::Property("ttl-mc", ..) => Ok(settings.ttl_mc.to_value()), subclass::Property("qos-dscp", ..) => Ok(settings.qos_dscp.to_value()), subclass::Property("clients", ..) => { + drop(settings); + let clients: Vec = self .sink_pad_handler .get_clients()