[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 <gerrit@erg.abdn.ac.uk> Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
This commit is contained in:
Родитель
e356d37a09
Коммит
cecd8d0ec4
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче