summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-08-20 16:24:23 +0000
committerrwatson <rwatson@FreeBSD.org>2004-08-20 16:24:23 +0000
commit5c80f32b93dac9cdd43547e4e1b35d91c08c9065 (patch)
tree51ab935b8c8108691112b0e1ee1eb72e87c7c6d7
parent7b98775375aecc9fff1d5f4667e28f1864b4d2ac (diff)
downloadFreeBSD-src-5c80f32b93dac9cdd43547e4e1b35d91c08c9065.zip
FreeBSD-src-5c80f32b93dac9cdd43547e4e1b35d91c08c9065.tar.gz
Back out uipc_socket.c:1.208, as it incorrectly assumes that all
sockets are connection-oriented for the purposes of kqueue registration. Since UDP sockets aren't connection-oriented, this appeared to break a great many things, such as RPC-based applications and services (i.e., NFS). Since jmg isn't around I'm backing this out before too many more feet are shot, but intend to investigate the right solution with him once he's available. Apologies to: jmg Discussed with: imp, scottl
-rw-r--r--sys/kern/uipc_socket.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index dc20608..9b6c423 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -2136,10 +2136,8 @@ soo_kqfilter(struct file *fp, struct knote *kn)
case EVFILT_READ:
if (so->so_options & SO_ACCEPTCONN)
kn->kn_fop = &solisten_filtops;
- else if (so->so_state & SS_ISCONNECTED)
- kn->kn_fop = &soread_filtops;
else
- return (EINVAL);
+ kn->kn_fop = &soread_filtops;
sb = &so->so_rcv;
break;
case EVFILT_WRITE:
OpenPOWER on IntegriCloud