summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_subr.c
diff options
context:
space:
mode:
authorJonathan Lemon <jlemon@FreeBSD.org>2001-02-23 21:07:06 +0000
committerJonathan Lemon <jlemon@FreeBSD.org>2001-02-23 21:07:06 +0000
commitc484d1a38cbf46c75f1db8dab66aca38eee93edf (patch)
tree9f8b9c723d20ab5f995705b5acd92265ca4df516 /sys/netinet/tcp_subr.c
parente4bb5b05721e2279ad6233813183c0d24e6d3d97 (diff)
Notes
Diffstat (limited to 'sys/netinet/tcp_subr.c')
-rw-r--r--sys/netinet/tcp_subr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index b58005d260dd..c1505974a4fb 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -752,14 +752,16 @@ tcp_drain()
* Notify a tcp user of an asynchronous error;
* store error as soft error, but wake up user
* (for now, won't do anything until can select for soft error).
+ *
+ * Do not wake up user since there currently is no mechanism for
+ * reporting soft errors (yet - a kqueue filter may be added).
*/
static void
tcp_notify(inp, error)
struct inpcb *inp;
int error;
{
- register struct tcpcb *tp = (struct tcpcb *)inp->inp_ppcb;
- register struct socket *so = inp->inp_socket;
+ struct tcpcb *tp = (struct tcpcb *)inp->inp_ppcb;
/*
* Ignore some errors if we are hooked up.
@@ -774,12 +776,14 @@ tcp_notify(inp, error)
return;
} else if (tp->t_state < TCPS_ESTABLISHED && tp->t_rxtshift > 3 &&
tp->t_softerror)
- so->so_error = error;
+ tcp_drop(tp, error);
else
tp->t_softerror = error;
+#if 0
wakeup((caddr_t) &so->so_timeo);
sorwakeup(so);
sowwakeup(so);
+#endif
}
static int