diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-09-04 06:41:37 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-09-04 06:41:37 -0400 |
| commit | f9bcda7760e1373615c9f6d9ce24209b0ab97de1 (patch) | |
| tree | f90b3031126c4e4beb8161f38ea436303e2b8b73 /net/sctp/socket.c | |
| parent | 9bec2e38527a9f2497b3d976715c672d08d6160d (diff) | |
| parent | c336923b668fdcf0312efbec3b44895d713f4d81 (diff) | |
Merge branch 'master' into upstream
Diffstat (limited to 'net/sctp/socket.c')
| -rw-r--r-- | net/sctp/socket.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index fde3f55bfd4..dab15949958 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -1289,9 +1289,13 @@ SCTP_STATIC void sctp_close(struct sock *sk, long timeout) } } - if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) - sctp_primitive_ABORT(asoc, NULL); - else + if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) { + struct sctp_chunk *chunk; + + chunk = sctp_make_abort_user(asoc, NULL, 0); + if (chunk) + sctp_primitive_ABORT(asoc, chunk); + } else sctp_primitive_SHUTDOWN(asoc, NULL); } |
