cvs commit: src/sys/netinet tcp_usrreq.c
Robert Watson
rwatson at FreeBSD.org
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
Log:
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