From dbcb684662e2e84e290ede7db733c67f26c7d2c2 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Mon, 9 Sep 2013 21:30:39 +0200 Subject: [PATCH] event: don't call `netsnmp_check_outstanding_agent_requests()` We don't use delegated requests and therefore, this call is not necessary. It was put here out of safety but it seems that it can trigger spurious alarms and microseconds timeout. This makes lldpd consume a lot of CPU. We just remove this call from the event loop. --- src/daemon/event.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/daemon/event.c b/src/daemon/event.c index e1d5510b..192047f3 100644 --- a/src/daemon/event.c +++ b/src/daemon/event.c @@ -485,23 +485,15 @@ levent_loop(struct lldpd *cfg) { levent_init(cfg); lldpd_loop(cfg); +#ifdef USE_SNMP + if (cfg->g_snmp) levent_snmp_update(cfg); +#endif /* libevent loop */ do { if (event_base_got_break(cfg->g_base) || event_base_got_exit(cfg->g_base)) break; -#ifdef USE_SNMP - if (cfg->g_snmp) { - /* We don't use delegated requests (request - whose answer is delayed). However, we keep - the call here in case we use it some - day. We don't call run_alarms() here. We do - it on timeout only. */ - netsnmp_check_outstanding_agent_requests(); - levent_snmp_update(cfg); - } -#endif } while (event_base_loop(cfg->g_base, EVLOOP_ONCE) == 0); #ifdef USE_SNMP -- 2.39.5