From b117d4d84becd25ef79c049ebf9b8ec6c4abca88 Mon Sep 17 00:00:00 2001 From: Krishnan Parthasarathi Date: Wed, 25 Feb 2015 15:49:11 +0530 Subject: socket: allow only one epoll thread to read msg fragments __socket_read_reply function releases sock priv->lock briefly for notifying higher layers of message's xid. This could result in other epoll threads that are processing events on this socket to read further fragments of the same message. This may lead to incorrect fragment processing and result in a crash. Change-Id: I915665b2e54ca16f2ad65970e51bf76c65d954a4 BUG: 1197118 Signed-off-by: Krishnan Parthasarathi Signed-off-by: Shyam Reviewed-on: http://review.gluster.org/9742 Tested-by: Gluster Build System Reviewed-by: Raghavendra G Tested-by: Raghavendra G --- rpc/rpc-transport/socket/src/socket.h | 1 + 1 file changed, 1 insertion(+) (limited to 'rpc/rpc-transport/socket/src/socket.h') diff --git a/rpc/rpc-transport/socket/src/socket.h b/rpc/rpc-transport/socket/src/socket.h index 33c936938eb..6a8ab870ab7 100644 --- a/rpc/rpc-transport/socket/src/socket.h +++ b/rpc/rpc-transport/socket/src/socket.h @@ -59,6 +59,7 @@ typedef enum { SP_STATE_RPCFRAG_INIT, SP_STATE_READING_MSGTYPE, SP_STATE_READ_MSGTYPE, + SP_STATE_NOTIFYING_XID } sp_rpcfrag_state_t; typedef enum { -- cgit