aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorVladislav Yasevich <vladislav.yasevich@hp.com>2006-05-19 17:32:06 -0400
committerSridhar Samudrala <sri@us.ibm.com>2006-05-19 17:32:06 -0400
commitb89498a1c2941c00889dd025f52dcb653a5083bc (patch)
treea677c2ec38b9acf7e648bf3c89d22540cc563944 /net
parenta601266e4f3c479790f373c2e3122a766d123652 (diff)
[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.c12
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)
1242 if (sctp_state(asoc, CLOSED)) { 1242 if (sctp_state(asoc, CLOSED)) {
1243 sctp_unhash_established(asoc); 1243 sctp_unhash_established(asoc);
1244 sctp_association_free(asoc); 1244 sctp_association_free(asoc);
1245 continue;
1246 }
1247 }
1245 1248
1246 } else if (sock_flag(sk, SOCK_LINGER) && 1249 if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime)
1247 !sk->sk_lingertime) 1250 sctp_primitive_ABORT(asoc, NULL);
1248 sctp_primitive_ABORT(asoc, NULL); 1251 else
1249 else
1250 sctp_primitive_SHUTDOWN(asoc, NULL);
1251 } else
1252 sctp_primitive_SHUTDOWN(asoc, NULL); 1252 sctp_primitive_SHUTDOWN(asoc, NULL);
1253 } 1253 }
1254 1254