Date: Thu, 22 Jul 1999 15:10:25 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Jason Young" <doogie@anet-stl.com>, "Papezik Milon" <papezik@pvt.net>, <hackers@FreeBSD.ORG> Subject: Re: RE: Squid - a bug in src/sys/kern/uipc_socket.c Message-ID: <199907222210.PAA88151@apollo.backplane.com> References: <000501bed48b$3de34600$8a9791d1@y> <199907222200.PAA88061@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
::It's been committed before, and broke many things (X and CVSup come to
::mind). I have it compiled in locally on a few machines but it's
::definitely not suitable for general distribution until a solution is
::found that doesn't break applications.
::
::Jason Young
::accessUS Chief Network Engineer
:
: Hmm.. it doesn't look like anyone tracked down why it was breaking
: applications after it was backed out the fist time - July last year
: looking at the CVS logs.
:
: -Matt
Looking at the code more closely, a failure can occur if the amount of
data is larger then so->so_snd.sb_hiwat.
This situation looks like it can occur if the socket buffer fills
up (the sender is faster then the receiver).
The solution would be to have a slightly more involved patch. Have
a 'tryatomic' variable which is set based on this particular situation
and then use it to mean 'atomic' in those cases where no error would
occur.
I am going to try to reproduce the failure with the original patch and
will work up a new patch that fixes it if it winds up being what I think
it will be.
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907222210.PAA88151>
