From owner-freebsd-stable Mon Dec 14 23:32:11 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA25396 for freebsd-stable-outgoing; Mon, 14 Dec 1998 23:32:11 -0800 (PST) (envelope-from owner-freebsd-stable@FreeBSD.ORG) Received: from alpha.xerox.com (alpha.Xerox.COM [13.1.64.93]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id XAA25376; Mon, 14 Dec 1998 23:32:09 -0800 (PST) (envelope-from fenner@parc.xerox.com) Received: from crevenia.parc.xerox.com ([13.2.116.11]) by alpha.xerox.com with SMTP id <55452(1)>; Mon, 14 Dec 1998 23:32:03 PST Received: from localhost by crevenia.parc.xerox.com with SMTP id <177534>; Mon, 14 Dec 1998 22:19:11 -0800 To: Michael Robinson cc: fenner@parc.xerox.com, freebsd-net@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG Subject: Re: MLEN < write length < MINCLSIZE "bug" In-reply-to: Your message of "Tue, 15 Dec 98 05:40:42 PST." <199812151340.NAA07127@netrinsics.com> Date: Mon, 14 Dec 1998 22:17:03 PST From: Bill Fenner Message-Id: <98Dec14.221911pst.177534@crevenia.parc.xerox.com> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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-stable" in the body of the message