Date: Wed, 31 Jan 2007 13:40:04 -0800 From: Jeff Davis <freebsd@j-davis.com> To: Garrett Wollman <wollman@khavrinen.csail.mit.edu> Cc: freebsd-net@freebsd.org, freebsd-stable@freebsd.org Subject: Re: send() returns error even though data is sent, TCP connection still alive Message-ID: <1170279604.22436.81.camel@dogma.v10.wvs> In-Reply-To: <200701312004.l0VK4vXC066309@khavrinen.csail.mit.edu> References: <200701312004.l0VK4vXC066309@khavrinen.csail.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2007-01-31 at 15:04 -0500, Garrett Wollman wrote: > In article <1170269163.22436.71.camel@dogma.v10.wvs>, > Jeff Davis <freebsd@j-davis.com> wrote: > > >You should see something like "write failed: host is down" and the > >session will terminate. Of course, when ssh exits, the TCP connection > >closes. The only way to see that it's still open and active is by > >writing (or using) an application that ignores EHOSTDOWN errors from > >write(). > > I agree that it's a bug. The only time write() on a stream socket > should return the asynchronous error[1] is when the connection has > been (or is in the process of being) torn down as a result of a > subsequent timeout. POSIX says "may fail" for these errors write() > and send() on sockets > As far as I'm concerned, a fix for this bug is critical. We have had to move production apps off some of our freebsd servers. Regards, Jeff Davis
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1170279604.22436.81.camel>