From 84a563ae4050cc0389dcd438fbe9ea882f2b8404 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Thu, 22 Aug 2019 19:32:49 -0400 Subject: dns: fix trivial multi-thread deadlock Add a simple lock trace mechanism Type: fix Ticket: VPP-1752 Signed-off-by: Dave Barach Change-Id: Idc82b1ad59adb0f7c185d27ced57e9a4c25ce62f --- src/plugins/dns/resolver_process.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/plugins/dns/resolver_process.c') diff --git a/src/plugins/dns/resolver_process.c b/src/plugins/dns/resolver_process.c index 802da53cec5..51fe9d76a08 100644 --- a/src/plugins/dns/resolver_process.c +++ b/src/plugins/dns/resolver_process.c @@ -70,7 +70,7 @@ resolve_event (dns_main_t * dm, f64 now, u8 * reply) /* $$$ u16 limits cache to 65K entries, fix later multiple dst ports */ pool_index = clib_net_to_host_u16 (d->id); - dns_cache_lock (dm); + dns_cache_lock (dm, 10); if (pool_is_free_index (dm->entries, pool_index)) { @@ -306,7 +306,7 @@ retry_scan (dns_main_t * dm, f64 now) for (i = 0; i < vec_len (dm->unresolved_entries); i++) { - dns_cache_lock (dm); + dns_cache_lock (dm, 11); ep = pool_elt_at_index (dm->entries, dm->unresolved_entries[i]); ASSERT ((ep->flags & DNS_CACHE_ENTRY_FLAG_VALID) == 0); -- cgit 1.2.3-korg