From: Gerrit Renker Date: Wed, 26 Sep 2007 22:36:08 +0000 (-0300) Subject: [DCCP]: Reduce the number of writable states X-Git-Tag: v2.6.24-rc1~1454^2~347 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cecd8d0ec4cb4fec728f67163bb0a78f80c292eb;p=linux-2.6 [DCCP]: Reduce the number of writable states Since DCCP requires to close both ends of a connection simultaneously, permission to write in state DCCP_CLOSING is removed in dccp_sendmsg(): * if the sending end closed, it would encounter a write error anyhow; * if the other end has closed the connection, it accepts no more data. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/net/dccp/proto.c b/net/dccp/proto.c index 604de8bfa0..7e4f54a4ec 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c @@ -664,7 +664,7 @@ int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, * so that the trick in dccp_rcv_request_sent_state_process. */ /* Wait for a connection to finish. */ - if ((1 << sk->sk_state) & ~(DCCPF_OPEN | DCCPF_PARTOPEN | DCCPF_CLOSING)) + if ((1 << sk->sk_state) & ~(DCCPF_OPEN | DCCPF_PARTOPEN)) if ((rc = sk_stream_wait_connect(sk, &timeo)) != 0) goto out_release;