[Midnightbsd-cvs] src [7798] trunk/sys/kern/subr_taskqueue.c: Add a special meaning to the negative ticks argument for taskqueue_enqueue_timeout.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Sep 5 15:27:25 EDT 2016


Revision: 7798
          http://svnweb.midnightbsd.org/src/?rev=7798
Author:   laffer1
Date:     2016-09-05 15:27:25 -0400 (Mon, 05 Sep 2016)
Log Message:
-----------
Add a special meaning to the negative ticks argument for taskqueue_enqueue_timeout. do not ream the callout if it is already armed and the ticks is negative. otherwise rearm it to fire in abs(ticks) ticks in the future.

Obtained from: FreeBSD svn rev 243850

Revision Links:
--------------
    http://svnweb.midnightbsd.org/src/?rev=243850

Modified Paths:
--------------
    trunk/sys/kern/subr_taskqueue.c

Modified: trunk/sys/kern/subr_taskqueue.c
===================================================================
--- trunk/sys/kern/subr_taskqueue.c	2016-09-05 19:22:47 UTC (rev 7797)
+++ trunk/sys/kern/subr_taskqueue.c	2016-09-05 19:27:25 UTC (rev 7798)
@@ -252,9 +252,13 @@
 		} else {
 			queue->tq_callouts++;
 			timeout_task->f |= DT_CALLOUT_ARMED;
+			if (ticks < 0)
+				ticks = -ticks; /* Ignore overflow. */
 		}
-		callout_reset(&timeout_task->c, ticks, taskqueue_timeout_func,
-		    timeout_task);
+		if (ticks > 0) {
+			callout_reset(&timeout_task->c, ticks,
+			    taskqueue_timeout_func, timeout_task);
+		}
 	}
 	TQ_UNLOCK(queue);
 	return (res);



More information about the Midnightbsd-cvs mailing list