Date: Mon, 14 Dec 1998 22:17:03 PST From: Bill Fenner <fenner@parc.xerox.com> To: Michael Robinson <robinson@netrinsics.com> Cc: fenner@parc.xerox.com, freebsd-net@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG Subject: Re: MLEN < write length < MINCLSIZE "bug" Message-ID: <98Dec14.221911pst.177534@crevenia.parc.xerox.com> In-Reply-To: Your message of "Tue, 15 Dec 98 05:40:42 PST." <199812151340.NAA07127@netrinsics.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hm. After looking into this a little further, I discovered that I've
been running a slightly modified version of my original patch on my
home 2.2.6 machine (running X and everything) for about 5 months and
haven't noticed any of the problems that people were reporting.
Would you mind trying this patch?
Bill
--- uipc_socket.c.orig Tue Jun 30 23:03:30 1998
+++ uipc_socket.c Sat Jul 18 12:32:26 1998
@@ -340,6 +340,7 @@
register long space, len, resid;
int clen = 0, error, s, dontroute, mlen;
int atomic = sosendallatonce(so) || top;
+ int small = 0;
if (uio)
resid = uio->uio_resid;
@@ -443,6 +444,7 @@
mlen = MCLBYTES;
len = min(min(mlen, resid), space);
} else {
+ small = 1;
nopages:
len = min(min(mlen, resid), space);
/*
@@ -466,7 +468,7 @@
top->m_flags |= M_EOR;
break;
}
- } while (space > 0 && atomic);
+ } while (space > 0 && (atomic || small));
if (dontroute)
so->so_options |= SO_DONTROUTE;
s = splnet(); /* XXX */
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98Dec14.221911pst.177534>
