diff options
Diffstat (limited to 'rpc/rpc-transport/socket/src/socket.c')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 14 | 
1 files changed, 3 insertions, 11 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index a7e2bb0cfdf..2b61eb417d2 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -2263,16 +2263,9 @@ socket_event_poll_in (rpc_transport_t *this)          rpc_transport_pollin_t *pollin = NULL;          socket_private_t       *priv = this->private; -	do { -		/* consume all we can, this is our only chance -		   (Edge Triggered polling in epoll) -		*/ -		pollin = NULL; -		ret = socket_proto_state_machine (this, &pollin); - -		if (!pollin) -			break; +	ret = socket_proto_state_machine (this, &pollin); +	if (pollin) {                  priv->ot_state = OT_CALLBACK;                  ret = rpc_transport_notify (this, RPC_TRANSPORT_MSG_RECEIVED,                                              pollin); @@ -2280,8 +2273,7 @@ socket_event_poll_in (rpc_transport_t *this)                          priv->ot_state = OT_RUNNING;                  }                  rpc_transport_pollin_destroy (pollin); - -        } while (pollin); +        }          return ret;  }  | 
