Author: glebius
Date: Wed Jul 20 16:48:25 2016
New Revision: 303098
URL: https://svnweb.freebsd.org/changeset/base/303098

Log:
  Redo the r302894: the very new value for a non-scheduled callout is -1.
  This was recently added in r290664.
  
  Noticed by:   hselasky
  Tested by:    Larry Rosenman <ler lerctr.org>
  PR:           210884

Modified:
  head/sys/kern/kern_timeout.c

Modified: head/sys/kern/kern_timeout.c
==============================================================================
--- head/sys/kern/kern_timeout.c        Wed Jul 20 16:46:13 2016        
(r303097)
+++ head/sys/kern/kern_timeout.c        Wed Jul 20 16:48:25 2016        
(r303098)
@@ -1380,8 +1380,14 @@ again:
        if ((c->c_iflags & CALLOUT_PENDING) == 0) {
                CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p",
                    c, c->c_func, c->c_arg);
+               /*
+                * For not scheduled and not executing callout return
+                * negative value.
+                */
+               if (cc_exec_curr(cc, direct) != c)
+                       cancelled = -1;
                CC_UNLOCK(cc);
-               return (0);
+               return (cancelled);
        }
 
        c->c_iflags &= ~CALLOUT_PENDING;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to