Object now or forever hold your peace! Patch included again for reference. -Matt Matthew Dillon <dil...@backplane.com>
Index: uipc_socket.c =================================================================== RCS file: /home/ncvs/src/sys/kern/uipc_socket.c,v retrieving revision 1.60 diff -u -r1.60 uipc_socket.c --- uipc_socket.c 1999/06/17 23:54:47 1.60 +++ uipc_socket.c 1999/07/22 23:08:38 @@ -413,7 +413,8 @@ register struct mbuf *m; register long space, len, resid; int clen = 0, error, s, dontroute, mlen; - int atomic = sosendallatonce(so) || top; + int atomic = sosendallatonce(so) || top; /* required atomicy */ + int try_atomic = atomic; /* requested atomicy */ if (uio) resid = uio->uio_resid; @@ -518,6 +519,7 @@ mlen = MCLBYTES; len = min(min(mlen, resid), space); } else { + try_atomic = 1; /* try to optimize */ nopages: len = min(min(mlen, resid), space); /* @@ -541,7 +543,7 @@ top->m_flags |= M_EOR; break; } - } while (space > 0 && atomic); + } while (space > 0 && try_atomic); if (dontroute) so->so_options |= SO_DONTROUTE; s = splnet(); /* XXX */ To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message