diff options
author | David S. Miller <davem@davemloft.net> | 2005-08-23 10:13:06 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-08-23 10:13:06 -0700 |
commit | 89ebd197eb2cd31d6187db344d5117064e19fdde (patch) | |
tree | d017e5c04afcd33d99a2bf8554332c5754df8c36 /net/ipv4/tcp_ipv4.c | |
parent | 0fbbeb1ba43bd04f0f1d4f161b7f72437a1c8a03 (diff) | |
download | op-kernel-dev-89ebd197eb2cd31d6187db344d5117064e19fdde.zip op-kernel-dev-89ebd197eb2cd31d6187db344d5117064e19fdde.tar.gz |
[TCP]: Unconditionally clear TCP_NAGLE_PUSH in skb_entail().
Intention of this bit is to force pushing of the existing
send queue when TCP_CORK or TCP_NODELAY state changes via
setsockopt().
But it's easy to create a situation where the bit never
clears. For example, if the send queue starts empty:
1) set TCP_NODELAY
2) clear TCP_NODELAY
3) set TCP_CORK
4) do small write()
The current code will leave TCP_NAGLE_PUSH set after that
sequence. Unconditionally clearing the bit when new data
is added via skb_entail() solves the problem.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
0 files changed, 0 insertions, 0 deletions