summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-03-09 08:16:40 +0000
committerjlemon <jlemon@FreeBSD.org>2001-03-09 08:16:40 +0000
commit50bffc6c06aca836443e915bf84b611c97ee5c19 (patch)
tree62d7942d27fad82cda790598df2a606d5b543fee /sys/kern/uipc_socket.c
parente8c0cc0af2cba10cc1a43be82ba2a811596cbf73 (diff)
downloadFreeBSD-src-50bffc6c06aca836443e915bf84b611c97ee5c19.zip
FreeBSD-src-50bffc6c06aca836443e915bf84b611c97ee5c19.tar.gz
Push the test for a disconnected socket when accept()ing down to the
protocol layer. Not all protocols behave identically. This fixes the brokenness observed with unix-domain sockets (and postfix)
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r--sys/kern/uipc_socket.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index f4237a0..ef4ac59 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -360,10 +360,7 @@ soaccept(so, nam)
if ((so->so_state & SS_NOFDREF) == 0)
panic("soaccept: !NOFDREF");
so->so_state &= ~SS_NOFDREF;
- if ((so->so_state & SS_ISDISCONNECTED) == 0)
- error = (*so->so_proto->pr_usrreqs->pru_accept)(so, nam);
- else
- error = ECONNABORTED;
+ error = (*so->so_proto->pr_usrreqs->pru_accept)(so, nam);
splx(s);
return (error);
}
OpenPOWER on IntegriCloud