summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2009-03-17 10:15:49 +0000
committerRobert Watson <rwatson@FreeBSD.org>2009-03-17 10:15:49 +0000
commit9f3c792b0842de6ad7cf3119b536ee2a77557a4f (patch)
tree5b779f6e0549ab31931f5bc15341aa6e3652ea30 /sys
parent9f5c95c82ea1b22c72259ef453c64ed06f599675 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/tcp_usrreq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 1568392e30b8..e6b049152e0a 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -712,7 +712,8 @@ tcp_usr_shutdown(struct socket *so)
TCPDEBUG1();
socantsendmore(so);
tcp_usrclosed(tp);
- error = tcp_output_disconnect(tp);
+ if (!(inp->inp_vflag & INP_DROPPED))
+ error = tcp_output_disconnect(tp);
out:
TCPDEBUG2(PRU_SHUTDOWN);
@@ -844,7 +845,7 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m,
INP_INFO_WUNLOCK(&tcbinfo);
headlocked = 0;
}
- if (tp != NULL) {
+ if (!(inp->inp_vflag & INP_DROPPED)) {
if (flags & PRUS_MORETOCOME)
tp->t_flags |= TF_MORETOCOME;
error = tcp_output_send(tp);