[dpdk-dev] examples/performance-thread: fix return check

Message ID 1507808684-37821-1-git-send-email-jacekx.piasecki@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Jacek Piasecki Oct. 12, 2017, 11:44 a.m. UTC
  There was a call for thread create function without result check.
Added result check and message printout after failure.

Coverity issue: 143441
Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim app")
Cc: ian.betts@intel.com
Cc: stable@dpdk.org

Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
---
 examples/performance-thread/pthread_shim/main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
  

Comments

Michal Jastrzebski Oct. 13, 2017, 11:56 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jacek Piasecki
> Sent: Thursday, October 12, 2017 1:45 PM
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>; Piasecki, JacekX
> <jacekx.piasecki@intel.com>; ian.betts@intel.com; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] examples/performance-thread: fix return check
> 
> There was a call for thread create function without result check.
> Added result check and message printout after failure.
> 
> Coverity issue: 143441
> Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim
> app")
> Cc: ian.betts@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
> ---
>  examples/performance-thread/pthread_shim/main.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/examples/performance-thread/pthread_shim/main.c
> b/examples/performance-thread/pthread_shim/main.c
> index 850b009..febae39 100644
> --- a/examples/performance-thread/pthread_shim/main.c
> +++ b/examples/performance-thread/pthread_shim/main.c
> @@ -161,6 +161,7 @@ static void initial_lthread(void *args
> __attribute__((unused)))
>  	pthread_override_set(1);
> 
>  	uint64_t i;
> +	int ret;
> 
>  	/* initialize mutex for shared counter */
>  	print_count = 0;
> @@ -187,7 +188,10 @@ static void initial_lthread(void *args
> __attribute__((unused)))
>  		pthread_attr_setaffinity_np(&attr, sizeof(rte_cpuset_t),
> &cpuset);
> 
>  		/* create the thread */
> -		pthread_create(&tid[i], &attr, helloworld_pthread, (void *)
> i);
> +		ret = pthread_create(&tid[i], &attr,
> +				helloworld_pthread, (void *) i);
> +		if (ret != 0)
> +			rte_exit(EXIT_FAILURE, "Cannot create helloworld
> thread\n");
>  	}
> 
>  	/* wait for 1s to allow threads
> --
> 1.9.1

Acked-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
  
Thomas Monjalon Oct. 13, 2017, 11:07 p.m. UTC | #2
> > There was a call for thread create function without result check.
> > Added result check and message printout after failure.
> > 
> > Coverity issue: 143441
> > Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim
> > app")
> > Cc: ian.betts@intel.com
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
> 
> Acked-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>

Applied, thanks
  

Patch

diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c
index 850b009..febae39 100644
--- a/examples/performance-thread/pthread_shim/main.c
+++ b/examples/performance-thread/pthread_shim/main.c
@@ -161,6 +161,7 @@  static void initial_lthread(void *args __attribute__((unused)))
 	pthread_override_set(1);
 
 	uint64_t i;
+	int ret;
 
 	/* initialize mutex for shared counter */
 	print_count = 0;
@@ -187,7 +188,10 @@  static void initial_lthread(void *args __attribute__((unused)))
 		pthread_attr_setaffinity_np(&attr, sizeof(rte_cpuset_t), &cpuset);
 
 		/* create the thread */
-		pthread_create(&tid[i], &attr, helloworld_pthread, (void *) i);
+		ret = pthread_create(&tid[i], &attr,
+				helloworld_pthread, (void *) i);
+		if (ret != 0)
+			rte_exit(EXIT_FAILURE, "Cannot create helloworld thread\n");
 	}
 
 	/* wait for 1s to allow threads