svn commit: r302744 - in projects/hps_head: share/man/man9 sys/kern

Hans Petter Selasky hselasky at FreeBSD.org
Wed Jul 13 10:03:15 UTC 2016


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;
 		}


More information about the svn-src-projects mailing list