Gleb: This now leaks TCP-PCB’s since you have broken the return codes with all your fixes that used to be in here.
It was return 1 — You stopped the callout return 0 — The callout could not be stopped return -1 — The callout was not running. The LLRef code that was crashing in in.c depended on this to know to free the memory.. i.e. if was > 0 then they needed to free the memory. TCP depends on a return 0 to indicate the async-drain function will be called back and thus increments a refcnt and waits for the callback. You now return 0 when no timer was active.. which makes the stack then wait for the not forth coming async-drain call. R > On Jul 18, 2016, at 11:29 AM, Gleb Smirnoff <gleb...@freebsd.org> wrote: > > Author: glebius > Date: Mon Jul 18 09:29:08 2016 > New Revision: 302998 > URL: https://svnweb.freebsd.org/changeset/base/302998 > > Log: > Revert the last commit. It must get more review and testing first. > > Modified: > head/sys/kern/kern_timeout.c > > Modified: head/sys/kern/kern_timeout.c > ============================================================================== > --- head/sys/kern/kern_timeout.c Mon Jul 18 09:26:06 2016 > (r302997) > +++ head/sys/kern/kern_timeout.c Mon Jul 18 09:29:08 2016 > (r302998) > @@ -1381,7 +1381,7 @@ again: > CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p", > c, c->c_func, c->c_arg); > CC_UNLOCK(cc); > - return (-1); > + return (0); > } > > c->c_iflags &= ~CALLOUT_PENDING; > -------- Randall Stewart r...@netflix.com 803-317-4952 _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"