<html><head></head><body>I don't see what can be separated here.<br><br><div class="gmail_quote">Le 10 février 2020 08:55:40 GMT+02:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On 2020-02-09 14:33, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><hr> src/stream_output/sap.c | 37 ++++++++++++++++---------------------<br> 1 file changed, 16 insertions(+), 21 deletions(-)<br><br>diff --git a/src/stream_output/sap.c b/src/stream_output/sap.c<br>index 8e0a29dbec..09c8f9e469 100644<br>--- a/src/stream_output/sap.c<br>+++ b/src/stream_output/sap.c<br>@@ -55,7 +55,7 @@ struct session_descriptor_t<br> * control flow algorithm */<br> typedef struct sap_address_t<br> {<br>- struct sap_address_t *next;<br>+ struct vlc_list node;<br> <br> vlc_thread_t thread;<br> vlc_mutex_t lock;<br>@@ -71,7 +71,7 @@ typedef struct sap_address_t<br> session_descriptor_t *first;<br> } sap_address_t;<br> <br>-static sap_address_t *sap_addrs = NULL;<br>+static struct vlc_list sap_addrs = VLC_LIST_INITIALIZER(&sap_addrs);<br> static vlc_mutex_t sap_mutex = VLC_STATIC_MUTEX;<br> <br> #define SAP_MAX_BUFFER 65534<br>@@ -278,21 +278,18 @@ sout_AnnounceRegisterSDP (vlc_object_t *obj, const char *sdp,<br> <br> msg_Dbg (obj, "using SAP address: %s", psz_addr);<br> vlc_mutex_lock (&sap_mutex);<br>- for (sap_addr = sap_addrs; sap_addr; sap_addr = sap_addr->next)<br>+ vlc_list_foreach (sap_addr, &sap_addrs, node)<br> if (!strcmp (psz_addr, sap_addr->group))<br>- break;<br>+ goto matched;<br> <br>+ sap_addr = AddressCreate (obj, psz_addr);<br> if (sap_addr == NULL)<br> {<br>- sap_addr = AddressCreate (obj, psz_addr);<br>- if (sap_addr == NULL)<br>- {<br>- vlc_mutex_unlock (&sap_mutex);<br>- return NULL;<br>- }<br>- sap_addr->next = sap_addrs;<br>- sap_addrs = sap_addr;<br>+ vlc_mutex_unlock(&sap_mutex);<br>+ return NULL;<br> }<br>+matched:<br>+ vlc_list_append(&sap_addr->node, &sap_addrs);<br> /* Switch locks.<br> * NEVER take the global SAP lock when holding a SAP thread lock! */<br> vlc_mutex_lock (&sap_addr->lock);<br>@@ -372,17 +369,14 @@ out:<br> */<br> void sout_AnnounceUnRegister (vlc_object_t *obj, session_descriptor_t *session)<br> {<br>- sap_address_t *addr, **paddr;<br>- session_descriptor_t **psession;<br>+ sap_address_t *addr;<br>+ session_descriptor_t **psession = NULL;<br> <br> msg_Dbg (obj, "removing SAP session");<br> vlc_mutex_lock (&sap_mutex);<br>- paddr = &sap_addrs;<br>- for (;;)<br>- {<br>- addr = *paddr;<br>- assert (addr != NULL);<br> <br>+ vlc_list_foreach (addr, &sap_addrs, node)<br>+ {<br> psession = &addr->first;<br> vlc_mutex_lock (&addr->lock);<br> while (*psession != NULL)<br>@@ -392,15 +386,16 @@ void sout_AnnounceUnRegister (vlc_object_t *obj, session_descriptor_t *session)<br> psession = &(*psession)->next;<br> }<br> vlc_mutex_unlock (&addr->lock);<br>- paddr = &addr->next;<br> }<br> <br>+ vlc_assert_unreachable();<br></blockquote><br>This could be a separate patch. Combined with the psession init.<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">+<br> found:<br> *psession = session->next;<br> <br> if (addr->first == NULL)<br> /* Last session for this address -> unlink the address */<br>- *paddr = addr->next;<br>+ vlc_list_remove(&addr->node);<br> vlc_mutex_unlock (&sap_mutex);<br> <br> if (addr->first == NULL)<br>-- <br>2.25.0<hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br></blockquote><hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>