diff options
| author | Jonathan Lemon <jlemon@FreeBSD.org> | 2001-02-23 21:07:06 +0000 |
|---|---|---|
| committer | Jonathan Lemon <jlemon@FreeBSD.org> | 2001-02-23 21:07:06 +0000 |
| commit | c484d1a38cbf46c75f1db8dab66aca38eee93edf (patch) | |
| tree | 9f8b9c723d20ab5f995705b5acd92265ca4df516 /sys/netinet/tcp_subr.c | |
| parent | e4bb5b05721e2279ad6233813183c0d24e6d3d97 (diff) | |
Notes
Diffstat (limited to 'sys/netinet/tcp_subr.c')
| -rw-r--r-- | sys/netinet/tcp_subr.c | 10 |
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 |
