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