Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2016 10:03:14 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r302744 - in projects/hps_head: share/man/man9 sys/kern
Message-ID:  <201607131003.u6DA3EHB003839@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Wed Jul 13 10:03:14 2016
New Revision: 302744
URL: https://svnweb.freebsd.org/changeset/base/302744

Log:
  Revert the callout_stop() return value changes made by r302350 and r302426.
  They are wrong and break existing code.
  
  Differential Revision:	https://reviews.freebsd.org/D7042

Modified:
  projects/hps_head/share/man/man9/timeout.9
  projects/hps_head/sys/kern/kern_timeout.c

Modified: projects/hps_head/share/man/man9/timeout.9
==============================================================================
--- projects/hps_head/share/man/man9/timeout.9	Wed Jul 13 10:02:39 2016	(r302743)
+++ projects/hps_head/share/man/man9/timeout.9	Wed Jul 13 10:03:14 2016	(r302744)
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 8, 2015
+.Dd July 13, 2015
 .Dt TIMEOUT 9
 .Os
 .Sh NAME
@@ -563,15 +563,15 @@ This function returns either
 .Dv CALLOUT_RET_CANCELLED
 or
 .Dv CALLOUT_RET_DRAINING .
-If the callout is being serviced regardless of being scheduled or not,
+If the callout was scheduled regardless of being serviced or not,
+.Dv CALLOUT_RET_CANCELLED
+is returned.
+If the callout was stopped and is still being serviced
 .Dv CALLOUT_RET_DRAINING
 is returned.
-If the callout is not being serviced and was already stopped
+If the callout was stopped and is no longer being serviced
 .Dv CALLOUT_RET_STOPPED
 is returned.
-If the callout is not being serviced and was scheduled
-.Dv CALLOUT_RET_CANCELLED
-is returned.
 If a lock is associated with the callout given by the
 .Fa c
 argument and it is exclusivly locked when this function is called, the

Modified: projects/hps_head/sys/kern/kern_timeout.c
==============================================================================
--- projects/hps_head/sys/kern/kern_timeout.c	Wed Jul 13 10:02:39 2016	(r302743)
+++ projects/hps_head/sys/kern/kern_timeout.c	Wed Jul 13 10:03:14 2016	(r302744)
@@ -1042,10 +1042,7 @@ callout_restart_async(struct callout *c,
 		} else if (cc_exec_cancel(cc, direct) == false ||
 		    cc_exec_restart(cc, direct) == true) {
 			cc_exec_cancel(cc, direct) = true;
-			if (coa != NULL || c->c_lock != NULL)
-				retval = CALLOUT_RET_CANCELLED;
-			else
-				retval = CALLOUT_RET_DRAINING;
+			retval = CALLOUT_RET_CANCELLED;
 		} else {
 			retval = CALLOUT_RET_DRAINING;
 		}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607131003.u6DA3EHB003839>