From: Jens Freimann Date: Tue, 4 Jul 2017 08:50:43 +0000 (+0200) Subject: vhost: check return of mutex initialization X-Git-Tag: spdx-start~2706 X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=2dfeebe26546491300356912358dd242a7b598bf vhost: check return of mutex initialization Check return value of pthread_mutex_init(). Also destroy mutex in case of other erros before returning. Signed-off-by: Jens Freimann Acked-by: Yuanhan Liu --- diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index b2b9a64fd5..57b86c0174 100644 --- a/lib/librte_vhost/socket.c +++ b/lib/librte_vhost/socket.c @@ -445,13 +445,22 @@ vhost_user_reconnect_init(void) { int ret; - pthread_mutex_init(&reconn_list.mutex, NULL); + ret = pthread_mutex_init(&reconn_list.mutex, NULL); + if (ret < 0) { + RTE_LOG(ERR, VHOST_CONFIG, "failed to initialize mutex"); + return ret; + } TAILQ_INIT(&reconn_list.head); ret = pthread_create(&reconn_tid, NULL, vhost_user_client_reconnect, NULL); - if (ret < 0) + if (ret < 0) { RTE_LOG(ERR, VHOST_CONFIG, "failed to create reconnect thread"); + if (pthread_mutex_destroy(&reconn_list.mutex)) { + RTE_LOG(ERR, VHOST_CONFIG, + "failed to destroy reconnect mutex"); + } + } return ret; }