diff options
author | Vladislav Yasevich <vladislav.yasevich@hp.com> | 2006-05-19 23:32:06 +0200 |
---|---|---|
committer | Sridhar Samudrala <sri@us.ibm.com> | 2006-05-19 23:32:06 +0200 |
commit | b89498a1c2941c00889dd025f52dcb653a5083bc (patch) | |
tree | a677c2ec38b9acf7e648bf3c89d22540cc563944 /net | |
parent | [SCTP]: Validate the parameter length in HB-ACK chunk. (diff) | |
download | linux-b89498a1c2941c00889dd025f52dcb653a5083bc.tar.xz linux-b89498a1c2941c00889dd025f52dcb653a5083bc.zip |
[SCTP]: Allow linger to abort 1-N style sockets.
Enable SO_LINGER functionality for 1-N style sockets. The socket API
draft will be clarfied to allow for this functionality. The linger
settings will apply to all associations on a given socket.
Signed-off-by: Vladislav Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sctp/socket.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index b1a17758003a..174d4d35e951 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -1242,13 +1242,13 @@ SCTP_STATIC void sctp_close(struct sock *sk, long timeout) if (sctp_state(asoc, CLOSED)) { sctp_unhash_established(asoc); sctp_association_free(asoc); + continue; + } + } - } else if (sock_flag(sk, SOCK_LINGER) && - !sk->sk_lingertime) - sctp_primitive_ABORT(asoc, NULL); - else - sctp_primitive_SHUTDOWN(asoc, NULL); - } else + if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) + sctp_primitive_ABORT(asoc, NULL); + else sctp_primitive_SHUTDOWN(asoc, NULL); } |