|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Arjan de Vet (list.postfix.users
adv.iae.nl)Date: Tue Mar 06 2001 - 17:19:18 CST
In article <20010306213602.11432BC06D
spike.porcupine.org> you write:
>Every 100 seconds means whenever the master 'wakeup' timer goes
>off. This means that UNIX-domain socket behavior has changed.
I've looked through recent commits to socket code and this one may be
the problem (not verified yet, it's time to go to sleep ;-):
jlemon 2001/02/13 18:09:12 PST
Modified files:
sys/kern uipc_socket.c uipc_syscalls.c
Log:
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
Revision Changes Path
1.88 +3 -6 src/sys/kern/uipc_socket.c
1.85 +15 -2 src/sys/kern/uipc_syscalls.c
This change was applied on Feb 24 to FreeBSD 4.2-stable.
The change in uipc_socket.c is:

-365,11 +365,8 
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);
}
ECONNABORTED is exactly the error I'm seeing now.
>At the very least, the kernel could deliver the data that
>is send with connect/write/disconnect.
Arjan
-- Arjan de Vet, Eindhoven, The Netherlands <Arjan.deVetadv.iae.nl> URL: http://www.iae.nl/users/devet/ for PGP key: finger devet
iae.nl
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]