DragonFly-2.1.1.62.ga48c5 master sys/netinet tcp_input.c tcp_output.c tcp_subr.c tcp_syncache.c tcp_timer.c tcp_timer.h tcp_timer2.h tcp_usrreq.c tcp_var.h
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Tue Dec 16 06:38:04 PST 2008
commit a48c5dd5268dc3f67165670e4e4e550f6fa6816a
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Mon Dec 15 22:29:35 2008 +0800
Restore the semantic of callout_active() testing on tcp timers.
Originally there is no time gap between the running of the tcp timer
handler and the deactivation of the tcp timer callout, but the message
based tcp timer has a time gap in between these two actions. This
time gap affects the code path which depends on the current state of
the tcp timer, i.e. return value of callout_active(tcp_timer). To
close this time gap, we take the pending and running tcp timer tasks
into consideration when testing the current state of the tcp timer.
Reviewed-by: dillon@
Summary of changes:
sys/netinet/tcp_input.c | 133 +++++++++++++++-------------
sys/netinet/tcp_output.c | 42 +++++----
sys/netinet/tcp_subr.c | 29 ++++---
sys/netinet/tcp_syncache.c | 3 +-
sys/netinet/tcp_timer.c | 90 ++++++++++++++------
sys/netinet/tcp_timer.h | 22 +++--
sys/netinet/{tcp_debug.h => tcp_timer2.h} | 113 +++++++++++++------------
sys/netinet/tcp_usrreq.c | 12 ++-
sys/netinet/tcp_var.h | 10 +-
9 files changed, 263 insertions(+), 191 deletions(-)
copy sys/netinet/{tcp_debug.h => tcp_timer2.h} (55%)
http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commitdiff;h=a48c5dd5268dc3f67165670e4e4e550f6fa6816a
--
DragonFly BSD source repository
More information about the Commits
mailing list