The source callback list grows infinitely when more than alarm
is queued.
This fix recognizes that an alarm interrupt in FreeBSD should never
have more than one callback on its list, so if
rte_intr_callback_register() is called with an interrupt handle type
of RTE_INTR_HANDLE_ALARM, so if such an interrupt type already has a
non-empty list, then a new callback is not created, but the kevent
timer is restarted properly.
Fixes: 23150bd8d8a8 ("eal/bsd: add interrupt thread") Cc: stable@dpdk.org Signed-off-by: Mit Matelske <mit@pt.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>