Date: Sun, 27 Apr 2008 19:40:16 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: John-Mark Gurney <jmg@funkthat.com> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern uipc_syscalls.c Message-ID: <20080427193737.K5282@fledge.watson.org> In-Reply-To: <20080427174951.GJ82555@funkthat.com> References: <200804271550.m3RFo0R6071940@repoman.freebsd.org> <20080427174951.GJ82555@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 27 Apr 2008, John-Mark Gurney wrote: > Robert Watson wrote this message on Sun, Apr 27, 2008 at 15:50 +0000: >> Note that the current fix isn't perfect, but better than >> panicking: normally we guarantee that simultaneous invocations >> of a system call to write on a stream socket won't be >> interlaced, which is ensured by use of the socket buffer sleep >> lock. This is guaranteed for the sendfile headers, but not >> trailers. In practice, this is likely not a problem, but >> should be fixed. > > Should this be mentioned in the BUGS section of the sendfile(2) man page? or > do you plan on fixing this in the near future? This bug has been present pretty much since inception, and I'm not convinced other OS's provide as strong protections against interlacing as we do (and certainly, application writers shouldn't rely on that protection if they are portable). I will likely look at fixing it at some point, but it will be in the queue behind quite a bit of other stuff. This particular bug became pressing today when I upgraded my 7.x web server and it keeled over within five minutes of booting (I run with INVARIANTS on my box). Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080427193737.K5282>