]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
event: don't call `netsnmp_check_outstanding_agent_requests()`
authorVincent Bernat <bernat@luffy.cx>
Mon, 9 Sep 2013 19:30:39 +0000 (21:30 +0200)
committerVincent Bernat <bernat@luffy.cx>
Mon, 9 Sep 2013 19:30:39 +0000 (21:30 +0200)
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

index e1d5510be105ea2aa5fe477b3f7e2f10f1a639f4..192047f38b1693dea905a45fc4b3bca880cf8b62 100644 (file)
@@ -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