[dpdk-dev] [PATCH 3/4] vhost: get rid of duplicate code

Yuanhan Liu yuanhan.liu at linux.intel.com
Mon Aug 24 05:54:44 CEST 2015


Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
---
 lib/librte_vhost/vhost_user/vhost-net-user.c | 36 ++++++++--------------------
 1 file changed, 10 insertions(+), 26 deletions(-)

diff --git a/lib/librte_vhost/vhost_user/vhost-net-user.c b/lib/librte_vhost/vhost_user/vhost-net-user.c
index f406a94..d1f8877 100644
--- a/lib/librte_vhost/vhost_user/vhost-net-user.c
+++ b/lib/librte_vhost/vhost_user/vhost-net-user.c
@@ -329,32 +329,16 @@ vserver_message_handler(int connfd, void *dat, int *remove)
 
 	ctx.fh = cfd_ctx->fh;
 	ret = read_vhost_message(connfd, &msg);
-	if (ret < 0) {
-		RTE_LOG(ERR, VHOST_CONFIG,
-			"vhost read message failed\n");
-
-		close(connfd);
-		*remove = 1;
-		free(cfd_ctx);
-		user_destroy_device(ctx);
-		ops->destroy_device(ctx);
-
-		return;
-	} else if (ret == 0) {
-		RTE_LOG(INFO, VHOST_CONFIG,
-			"vhost peer closed\n");
-
-		close(connfd);
-		*remove = 1;
-		free(cfd_ctx);
-		user_destroy_device(ctx);
-		ops->destroy_device(ctx);
-
-		return;
-	}
-	if (msg.request > VHOST_USER_MAX) {
-		RTE_LOG(ERR, VHOST_CONFIG,
-			"vhost read incorrect message\n");
+	if (ret <= 0 || msg.request > VHOST_USER_MAX) {
+		if (ret < 0)
+			RTE_LOG(ERR, VHOST_CONFIG,
+				"vhost read message failed\n");
+		else if (ret == 0)
+			RTE_LOG(INFO, VHOST_CONFIG,
+				"vhost peer closed\n");
+		else
+			RTE_LOG(ERR, VHOST_CONFIG,
+				"vhost read incorrect message\n");
 
 		close(connfd);
 		*remove = 1;
-- 
1.9.0



More information about the dev mailing list