提交 57467e56 编写于 作者: Y Ying Xue 提交者: Paul Gortmaker

tipc: eliminate duplicated discard_rx_queue routine

The tipc function discard_rx_queue() is just a duplicated
implementation of __skb_queue_purge().  Remove the former
and directly invoke __skb_queue_purge().

In doing so, the underscores convey to the code reader, more
information about the current locking state that is assumed.
Signed-off-by: NYing Xue <ying.xue@windriver.com>
Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
上级 d887199d
...@@ -128,19 +128,6 @@ static void advance_rx_queue(struct sock *sk) ...@@ -128,19 +128,6 @@ static void advance_rx_queue(struct sock *sk)
kfree_skb(__skb_dequeue(&sk->sk_receive_queue)); kfree_skb(__skb_dequeue(&sk->sk_receive_queue));
} }
/**
* discard_rx_queue - discard all buffers in socket receive queue
*
* Caller must hold socket lock
*/
static void discard_rx_queue(struct sock *sk)
{
struct sk_buff *buf;
while ((buf = __skb_dequeue(&sk->sk_receive_queue)))
kfree_skb(buf);
}
/** /**
* reject_rx_queue - reject all buffers in socket receive queue * reject_rx_queue - reject all buffers in socket receive queue
* *
...@@ -292,7 +279,7 @@ static int release(struct socket *sock) ...@@ -292,7 +279,7 @@ static int release(struct socket *sock)
res = tipc_deleteport(tport->ref); res = tipc_deleteport(tport->ref);
/* Discard any remaining (connection-based) messages in receive queue */ /* Discard any remaining (connection-based) messages in receive queue */
discard_rx_queue(sk); __skb_queue_purge(&sk->sk_receive_queue);
/* Reject any messages that accumulated in backlog queue */ /* Reject any messages that accumulated in backlog queue */
sock->state = SS_DISCONNECTING; sock->state = SS_DISCONNECTING;
...@@ -1637,7 +1624,7 @@ static int shutdown(struct socket *sock, int how) ...@@ -1637,7 +1624,7 @@ static int shutdown(struct socket *sock, int how)
case SS_DISCONNECTING: case SS_DISCONNECTING:
/* Discard any unreceived messages */ /* Discard any unreceived messages */
discard_rx_queue(sk); __skb_queue_purge(&sk->sk_receive_queue);
/* Wake up anyone sleeping in poll */ /* Wake up anyone sleeping in poll */
sk->sk_state_change(sk); sk->sk_state_change(sk);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册