From 044421312c049aa415226403402f632578deab4a Mon Sep 17 00:00:00 2001 From: Steven Lariau Date: Wed, 12 Aug 2020 20:18:46 +0100 Subject: [PATCH] test/stack: check errors for multi-threads Use rte_eal_wait_lcore to wait and get the return value for all cores. This is used to propagate any error to the main core. Signed-off-by: Steven Lariau Reviewed-by: Dharmik Thakkar Reviewed-by: Phil Yang Reviewed-by: Ruifeng Wang Acked-by: Gage Eads --- app/test/test_stack.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/test/test_stack.c b/app/test/test_stack.c index efd4738554..d959b566a2 100644 --- a/app/test/test_stack.c +++ b/app/test/test_stack.c @@ -322,8 +322,10 @@ stack_thread_push_pop(__rte_unused void *args) static int test_stack_multithreaded(uint32_t flags) { + unsigned int lcore_id; struct rte_stack *s; rte_atomic64_t size; + int result = 0; if (rte_lcore_count() < 2) { printf("Not enough cores for test_stack_multithreaded, expecting at least 2\n"); @@ -346,10 +348,14 @@ test_stack_multithreaded(uint32_t flags) if (rte_eal_mp_remote_launch(stack_thread_push_pop, NULL, CALL_MASTER)) rte_panic("Failed to launch tests\n"); - rte_eal_mp_wait_lcore(); + + RTE_LCORE_FOREACH(lcore_id) { + if (rte_eal_wait_lcore(lcore_id) < 0) + result = -1; + } rte_stack_free(s); - return 0; + return result; } static int -- 2.20.1