On Tue, Dec 16, 2008 at 1:07 AM, Matthew Dillon <[email protected]> wrote: > :Please test/review following patch: > :http://leaf.dragonflybsd.org/~sephe/0001-Restore-the-semantic-of-callout_active-testing-on.patch > : > :Best Regards, > :sephe > : > :-- > :Live Free or Die > > It looks pretty good to me. I like the idea of just leaving the > message queued and not trying to dequeue it, but cleaning up the > tt_tasks bitmap. > > Is it possible to get rid of all those tp->tt_msg != NULL tests > by moving tt_tasks and tt_running_tasks out of the netmsg and > into the tcpcb proper?
The callouts should not be used by listen TCP socket, whose tt_msg is NULL (I cleared it intentionally). I think we could remove the tp->tt_msg != NULL testing in tcp_callout_* functions; we probably only need to test tp->tt_msg != NULL in tcp_close(). If it didn't work out, I would put tt_tasks and tt_running_tasks into tcpcb. Best Regards, sephe -- Live Free or Die
