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 <jfreimann@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
This commit is contained in:
Jens Freimann 2017-07-04 10:50:43 +02:00 committed by Yuanhan Liu
parent d6983a70e2
commit 2dfeebe265

View File

@ -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;
}