From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Freimann Subject: [PATCH 3/3] vhost: check return value of pthread_mutex_init() Date: Tue, 4 Jul 2017 10:50:43 +0200 Message-ID: <20170704085043.3662-4-jfreimann@redhat.com> References: <20170704085043.3662-1-jfreimann@redhat.com> Cc: yuanhan.liu@linux.intel.com, maxime.coquelin@redhat.com To: dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 45DDF5587 for ; Tue, 4 Jul 2017 10:50:57 +0200 (CEST) In-Reply-To: <20170704085043.3662-1-jfreimann@redhat.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Check return value of pthread_mutex_init(). Also destroy mutex in case of other erros before returning. Signed-off-by: Jens Freimann --- lib/librte_vhost/socket.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index 7b5df6f..83ef943 100644 --- a/lib/librte_vhost/socket.c +++ b/lib/librte_vhost/socket.c @@ -445,13 +445,21 @@ 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; } -- 2.9.4