pespin submitted this change.

View Change

Approvals: osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified
mgcp-client: Avoid double iteration picking client from pool

Change-Id: I99e8be878452c5d8e2183239fbdd499dcf507e90
---
M src/libosmo-mgcp-client/mgcp_client_pool.c
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/libosmo-mgcp-client/mgcp_client_pool.c b/src/libosmo-mgcp-client/mgcp_client_pool.c
index 0531953..f3ed392 100644
--- a/src/libosmo-mgcp-client/mgcp_client_pool.c
+++ b/src/libosmo-mgcp-client/mgcp_client_pool.c
@@ -124,17 +124,18 @@
{
struct mgcp_client_pool_member *pool_member;
struct mgcp_client_pool_member *pool_member_picked = NULL;
- unsigned int n_pool_members = llist_count(&pool->pool);
+ unsigned int n_pool_members = 0;

llist_for_each_entry(pool_member, &pool->pool, list) {
+ n_pool_members++;
if (pool_member->blocked == false && pool_member->client) {
if (!pool_member_picked)
pool_member_picked = pool_member;
else if (pool_member_picked->refcount > pool_member->refcount)
pool_member_picked = pool_member;
} else {
- LOGPPMGW(pool_member, LOGL_DEBUG, "MGW pool has %u members -- MGW %u is unusable\n", n_pool_members,
- pool_member->nr);
+ LOGPPMGW(pool_member, LOGL_DEBUG, "%s -- MGW %u is unusable (blocked=%u, cli=%u)\n",
+ __func__, pool_member->nr, pool_member->blocked, !!pool_member->client);
}
}


To view, visit change 29734. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I99e8be878452c5d8e2183239fbdd499dcf507e90
Gerrit-Change-Number: 29734
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged