diff options
author | jlemon <jlemon@FreeBSD.org> | 2001-02-14 02:09:11 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2001-02-14 02:09:11 +0000 |
commit | 9377320bfdd9e471fbc783d1a710d852acf8645a (patch) | |
tree | 22fd866ee24cc051330907d9541c73d3565be6b8 /sys/kern/uipc_socket.c | |
parent | 1bd9c94cf7d5f6ace52e70fd30fb58d497d81407 (diff) | |
download | FreeBSD-src-9377320bfdd9e471fbc783d1a710d852acf8645a.zip FreeBSD-src-9377320bfdd9e471fbc783d1a710d852acf8645a.tar.gz |
Return ECONNABORTED from accept if connection is closed while on the
listen queue, as well as the current behavior of a zero-length sockaddr.
Obtained from: KAME
Reviewed by: -net
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r-- | sys/kern/uipc_socket.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 62459df..d8a95cf 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -365,11 +365,8 @@ soaccept(so, nam) so->so_state &= ~SS_NOFDREF; if ((so->so_state & SS_ISDISCONNECTED) == 0) error = (*so->so_proto->pr_usrreqs->pru_accept)(so, nam); - else { - if (nam) - *nam = 0; - error = 0; - } + else + error = ECONNABORTED; splx(s); return (error); } |