From: Wenxuan Wu <wenxuanx...@intel.com> The ret value stands for whether the device monitor has been successfully closed, and has nothing to do with rte_intr_callback_unregister funcs once it return a value greater than 0 .So if the closure procedure has gone to the right exit point ,we should set this value to 0.
Also ,the refmonitor has been carefully evaluted .at the beginning of ret_dev_event_monitor_stop ,the value is 1, at the end of this func ,the value is 0, it reveals that the monitor has been succefully closed. Signed-off-by: Wenxuan Wu <wenxuanx...@intel.com> --- lib/eal/linux/eal_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c index babd444d9d..8cf7ea5520 100644 --- a/lib/eal/linux/eal_dev.c +++ b/lib/eal/linux/eal_dev.c @@ -366,7 +366,7 @@ rte_dev_event_monitor_stop(void) if (!monitor_refcount) { RTE_LOG(ERR, EAL, "device event monitor already stopped\n"); - + goto exit; } @@ -381,7 +381,7 @@ rte_dev_event_monitor_stop(void) RTE_LOG(ERR, EAL, "fail to unregister uevent callback.\n"); goto exit; } - + close(rte_intr_fd_get(intr_handle)); rte_intr_instance_free(intr_handle); intr_handle = NULL; -- 2.25.1