summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_sockbuf.c
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2007-12-17 10:02:01 +0000
committerkmacy <kmacy@FreeBSD.org>2007-12-17 10:02:01 +0000
commit41d59439f83322b0bb95a3ae4e5ddb1d9886f5c1 (patch)
tree2fac3fab89781701a15cdbeceebdac7e9f15e58f /sys/kern/uipc_sockbuf.c
parent03fb3792900dc40682ce7bf0fe337f2a9f4152aa (diff)
downloadFreeBSD-src-41d59439f83322b0bb95a3ae4e5ddb1d9886f5c1.zip
FreeBSD-src-41d59439f83322b0bb95a3ae4e5ddb1d9886f5c1.tar.gz
Add SB_NOCOALESCE flag to disable socket buffer update in place
Diffstat (limited to 'sys/kern/uipc_sockbuf.c')
-rw-r--r--sys/kern/uipc_sockbuf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c
index aa1d5ce..d8c0cab 100644
--- a/sys/kern/uipc_sockbuf.c
+++ b/sys/kern/uipc_sockbuf.c
@@ -761,6 +761,7 @@ sbcompress(struct sockbuf *sb, struct mbuf *m, struct mbuf *n)
}
if (n && (n->m_flags & M_EOR) == 0 &&
M_WRITABLE(n) &&
+ ((sb->sb_flags & SB_NOCOALESCE) == 0) &&
m->m_len <= MCLBYTES / 4 && /* XXX: Don't copy too much */
m->m_len <= M_TRAILINGSPACE(n) &&
n->m_type == m->m_type) {
OpenPOWER on IntegriCloud