cvs commit: src/sys/netinet tcp_usrreq.c

Robert Watson rwatson at
Mon Apr 24 08:20:04 UTC 2006

rwatson     2006-04-24 08:20:03 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet          tcp_usrreq.c 
  Instead of calling tcp_usr_detach() from tcp_usr_abort(), break out
  common pcb tear-down logic into tcp_detach(), which is called from
  either.  Invoke tcp_drop() from the tcp_usr_abort() path rather than
  tcp_disconnect(), as we want to drop it immediately not perform a
  FIN sequence.  This is one reason why some people were experiencing
  panics in sodealloc(), as the netisr and aborting thread were
  simultaneously trying to tear down the socket.  This bug could often
  be reproduced using repeated runs of the listenclose regression test.
  MFC after:      3 months
  PR:             96090
  Reported by:    Peter Kostouros <kpeter at melbpc dot org dot au>, kris
  Tested by:      Peter Kostouros <kpeter at melbpc dot org dot au>, kris
  Revision  Changes    Path
  1.136     +64 -52    src/sys/netinet/tcp_usrreq.c

More information about the cvs-src mailing list