tipc: wakeup sleeping users at disconnect
Until now, in filter_connect() when we terminate a connection due to an error message from peer, we set the socket state to DISCONNECTING. The socket is notified about this broken connection using EPIPE when a user tries to send a message. However if a socket was waiting on a poll() while the connection is being terminated, we fail to wakeup that socket. In this commit, we wakeup sleeping sockets at connection termination. Acked-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
7cf87fa278
Коммит
4891d8fe16
|
@ -1599,6 +1599,7 @@ static bool filter_connect(struct tipc_sock *tsk, struct sk_buff *skb)
|
|||
/* Let timer expire on it's own */
|
||||
tipc_node_remove_conn(net, tsk_peer_node(tsk),
|
||||
tsk->portid);
|
||||
sk->sk_state_change(sk);
|
||||
}
|
||||
return true;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче