The TCP reaper timeout was still imlemented as soft timeout. So
authorbluhm <bluhm@openbsd.org>
Tue, 23 Jan 2018 21:41:17 +0000 (21:41 +0000)
committerbluhm <bluhm@openbsd.org>
Tue, 23 Jan 2018 21:41:17 +0000 (21:41 +0000)
commit9acddc59a51489e71fb2f560a3a0f0570a1ac983
tree950781eb9bbc67ef6ea0333a80fb1829db2308b3
parentdf55d3151dc9b7f967c800704352190e5b3fd325
The TCP reaper timeout was still imlemented as soft timeout.  So
it could run immediately and was not synchronized with the TCP
timeouts, although that was the intension when it was introduced
in revision 1.85.  Convert the reaper to an ordinary TCP timeout
so it is scheduled on the same timeout thread after all timeouts
have finished.  A net lock is not necessary as the process calling
tcp_close() will not access the tcpcb after arming the reaper
timeout.
OK mikeb@
sys/netinet/tcp_subr.c
sys/netinet/tcp_timer.c
sys/netinet/tcp_timer.h
sys/netinet/tcp_var.h