|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Wietse Venema (wietse
porcupine.org)Date: Tue Mar 06 2001 - 17:49:57 CST
That's it. Postfix connects/writes/disconnects. The changed behavior
causes loss of data that was already written and acknowledged.
The bad part is that there is no way for the sender to find out.
Wietse
Arjan de Vet:
> 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.deVet
adv.iae.nl>
> URL: http://www.iae.nl/users/devet/ for PGP key: finger devet
iae.nl
>
>
>
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]