diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-07-14 20:56:36 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-07-14 20:56:36 +0000 |
commit | 8e83a9f87b54a93ba4328c58978fe4e21d3d3697 (patch) | |
tree | e511f3dfe6b1c472a0c1c622e9e23980d08a80d8 | |
parent | b1a26e7037c1f23328d22eebb43c29ffef928830 (diff) |
The append side of a socketbuffer is not allowed to call sbflush().
Learned the hard way. dlg@ confirmed that it is save to just remove them,
the desync will still work but the reader needs to dequeue all packets first.
-rw-r--r-- | sys/net/rtsock.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 6308d190b99..3a9bcae337b 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rtsock.c,v 1.104 2010/07/14 00:42:57 dlg Exp $ */ +/* $OpenBSD: rtsock.c,v 1.105 2010/07/14 20:56:35 claudio Exp $ */ /* $NetBSD: rtsock.c,v 1.18 1996/03/29 00:32:10 cgd Exp $ */ /* @@ -367,7 +367,6 @@ route_input(struct mbuf *m0, ...) sotoroutecb(last)->flags |= ROUTECB_FLAG_DESYNC | ROUTECB_FLAG_FLUSH; - sbflush(&last->so_rcv); rt_senddesync((void *) sotorawcb(last)); m_freem(n); } else { @@ -384,7 +383,6 @@ route_input(struct mbuf *m0, ...) /* Flag socket as desync'ed and flush required */ sotoroutecb(last)->flags |= ROUTECB_FLAG_DESYNC | ROUTECB_FLAG_FLUSH; - sbflush(&last->so_rcv); rt_senddesync((void *) sotorawcb(last)); m_freem(m); } else { |