From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dariusz Stojaczyk Subject: [PATCH 1/2] eal/thread: fix return codes for rte_thread_setname() Date: Fri, 8 Jun 2018 14:37:06 +0200 Message-ID: <1528461427-164113-1-git-send-email-dariuszx.stojaczyk@intel.com> Cc: Dariusz Stojaczyk , thomas.monjalon@6wind.com, stable@dpdk.org To: dev@dpdk.org Return-path: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The doc says this function returns negative errno on error, but it currently returns either -1 or positive errno. It was incorrectly assumed that pthread_setname_np() returns negative error numbers. It always returns positive ones, so this patch negates its return value before returning. While here, also ignore rte_thread_setname() failure in rte_ctrl_thread_create() and print a debug message instead. Fixes: 3901ed99c2f8 ("eal: fix thread naming on FreeBSD") Cc: thomas.monjalon@6wind.com Cc: stable@dpdk.org Signed-off-by: Dariusz Stojaczyk --- lib/librte_eal/common/eal_common_thread.c | 3 ++- lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/eal_common_thread.c b/lib/librte_eal/common/eal_common_thread.c index 4239863..8110ac2 100644 --- a/lib/librte_eal/common/eal_common_thread.c +++ b/lib/librte_eal/common/eal_common_thread.c @@ -191,7 +191,8 @@ rte_ctrl_thread_create(pthread_t *thread, const char *name, if (name != NULL) { ret = rte_thread_setname(*thread, name); if (ret < 0) - goto fail; + RTE_LOG(DEBUG, EAL, + "Cannot set name for ctrl thread\n"); } cpu_found = 0; diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c b/lib/librte_eal/linuxapp/eal/eal_thread.c index f652ff9..b496fc7 100644 --- a/lib/librte_eal/linuxapp/eal/eal_thread.c +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c @@ -176,7 +176,7 @@ int rte_sys_gettid(void) int rte_thread_setname(pthread_t id, const char *name) { - int ret = -1; + int ret = ENOSYS; #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) #if __GLIBC_PREREQ(2, 12) ret = pthread_setname_np(id, name); @@ -184,5 +184,5 @@ int rte_thread_setname(pthread_t id, const char *name) #endif RTE_SET_USED(id); RTE_SET_USED(name); - return ret; + return -ret; } -- 2.7.4