From 08e382540e06e31192cd9e6f3eb761847a913c4b Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 13 Feb 2025 15:19:26 -0400 Subject: [PATCH] MT#55283 add link to port_pool in socket_port_link Change-Id: I43400175271b089a368f731bd55acb05ccab7141 --- daemon/media_socket.c | 9 +++++---- include/media_socket.h | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/daemon/media_socket.c b/daemon/media_socket.c index f380cc9e3..62ab7e6f4 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1081,8 +1081,8 @@ static void release_port_poller(socket_t *r, ports_q *links, struct port_pool *p static void release_port(socket_t *r, ports_q *links, struct port_pool *pp) { release_port_poller(r, links, pp, NULL); } -static void free_port(struct socket_port_link *spl, struct port_pool *pp) { - release_port(&spl->socket, &spl->links, pp); +static void free_port(struct socket_port_link *spl) { + release_port(&spl->socket, &spl->links, spl->pp); g_free(spl); } /** @@ -1290,6 +1290,7 @@ new_cycle: ilog(LOG_DEBUG, "Trying to bind the socket for port = '%d'", port); spl = g_new0(struct socket_port_link, 1); spl->socket.fd = -1; + spl->pp = pp; t_queue_push_tail_link(&spl->links, port_link); t_queue_push_tail(out, spl); // append other links belonging to the same port @@ -1313,7 +1314,7 @@ new_cycle: release_restart: /* release all previously engaged sockets */ while ((spl = t_queue_pop_head(out))) - free_port(spl, pp); /* engaged ports will be released here */ + free_port(spl); /* engaged ports will be released here */ /* do not re-try for specifically wanted ports */ if (wanted_start_port > 0) @@ -1388,7 +1389,7 @@ void free_socket_intf_list(struct socket_intf_list *il) { struct socket_port_link *spl; while ((spl = t_queue_pop_head(&il->list))) - free_port(spl, &il->local_intf->spec->port_pool); + free_port(spl); g_slice_free1(sizeof(*il), il); } void free_sfd_intf_list(struct sfd_intf_list *il) { diff --git a/include/media_socket.h b/include/media_socket.h index 77db53ddc..5afb2b973 100644 --- a/include/media_socket.h +++ b/include/media_socket.h @@ -91,6 +91,7 @@ TYPED_GQUEUE(ports, port_t) struct socket_port_link { socket_t socket; ports_q links; + struct port_pool *pp; }; TYPED_GQUEUE(port_pool, struct port_pool)