diff options
-rw-r--r-- | sys/kern/uipc_sockbuf.c | 4 | ||||
-rw-r--r-- | sys/kern/uipc_socket2.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index 9872c22..f652b5a 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -705,6 +705,8 @@ sbcompress(sb, m, n) (unsigned)m->m_len); n->m_len += m->m_len; sb->sb_cc += m->m_len; + if (m->m_type != MT_DATA) /* XXX: Probably don't need.*/ + sb->sb_ctl += m->m_len; m = m_free(m); continue; } @@ -774,6 +776,8 @@ sbdrop(sb, len) m->m_len -= len; m->m_data += len; sb->sb_cc -= len; + if (m->m_type != MT_DATA) + sb->sb_ctl -= len; break; } len -= m->m_len; diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index 9872c22..f652b5a 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -705,6 +705,8 @@ sbcompress(sb, m, n) (unsigned)m->m_len); n->m_len += m->m_len; sb->sb_cc += m->m_len; + if (m->m_type != MT_DATA) /* XXX: Probably don't need.*/ + sb->sb_ctl += m->m_len; m = m_free(m); continue; } @@ -774,6 +776,8 @@ sbdrop(sb, len) m->m_len -= len; m->m_data += len; sb->sb_cc -= len; + if (m->m_type != MT_DATA) + sb->sb_ctl -= len; break; } len -= m->m_len; |