cvs commit: src/sys/netinet in_pcb.c in_pcb.h tcp_fsm.h tcp_input.c tcp_subr.c tcp_usrreq.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Aug 10 19:36:29 PDT 2004
dillon 2004/08/10 19:36:22 PDT
DragonFly src repository
Modified files:
sys/netinet in_pcb.c in_pcb.h tcp_fsm.h tcp_input.c
tcp_subr.c tcp_usrreq.c
Log:
Add a state to sanity check tcp_close() to make sure it is not called
twice.
Add a 'cpu' field to the inpcb so the cpu owning a pcb can be made
well-known, for use in later assertions as we move closer to removing
the BGL.
Fix a bug in the closing of listen sockets. The inp wildcard hash table
removal was being done asynchronously with the freeing of the inp, which
could lead to problems. Instead of sending messages in parallel to all tcp
protocol threads to remove the wildcard hash we instead chain a single
message through all tcp protocol threads to remove the hash, then detach the
inp at the end of the chain.
There is still an issue with the socket being ripped out from under other
protocol threads which might be trying to accept connections on behalf of
the listen socket which must be resolved before the BGL can be removed (amoung
other things).
Revision Changes Path
1.25 +4 -0 src/sys/netinet/in_pcb.c
1.16 +1 -0 src/sys/netinet/in_pcb.h
1.3 +27 -24 src/sys/netinet/tcp_fsm.h
1.35 +1 -1 src/sys/netinet/tcp_input.c
1.38 +78 -20 src/sys/netinet/tcp_subr.c
1.26 +5 -1 src/sys/netinet/tcp_usrreq.c
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/in_pcb.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/in_pcb.h.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_fsm.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_input.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_subr.c.diff?r1=1.37&r2=1.38&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_usrreq.c.diff?r1=1.25&r2=1.26&f=u
More information about the Commits
mailing list