[PATCH v2 3/5] ipc: fix mp channel closure to prevent message loss
Artemy Kovalyov
artemyko at nvidia.com
Thu Mar 7 08:01:11 CET 2024
This commit addresses an issue related to the cleanup of the
multiprocess channel. Previously, when closing the channel, there was a
risk of losing trailing messages. This issue was particularly noticeable
when broadcast message from primary to secondary processes was sent
while a secondary process was closing it's mp channel. In this fix, we
delete mp socket file before stopping mp receive thread.
Fixes: e7885281ded1 ("ipc: stop mp control thread on cleanup")
Cc: stable at dpdk.org
Signed-off-by: Artemy Kovalyov <artemyko at nvidia.com>
---
lib/eal/common/eal_common_proc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c
index 728815c..d34fdda 100644
--- a/lib/eal/common/eal_common_proc.c
+++ b/lib/eal/common/eal_common_proc.c
@@ -593,7 +593,7 @@ enum async_action {
}
static void
-close_socket_fd(int fd)
+remove_socket_fd(int fd)
{
char path[PATH_MAX];
@@ -672,9 +672,9 @@ enum async_action {
if (fd < 0)
return;
+ remove_socket_fd(fd);
pthread_cancel((pthread_t)mp_handle_tid.opaque_id);
rte_thread_join(mp_handle_tid, NULL);
- close_socket_fd(fd);
}
/**
--
1.8.3.1
More information about the stable
mailing list