diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2008-01-20 18:23:39 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2008-01-20 18:23:39 +0000 |
commit | 273324ce080286e32f4c76be4dc65f5bdb069210 (patch) | |
tree | ca8ed343e21b19088d78a58e5b645d09b5cdd219 /sys | |
parent | 81b33b354fe4132d8a52cdc2ba7fe9e08a3953dd (diff) |
Revert 1.25 and do not use _Q_INVALIDATE on timeout structures; being
subtly different from CIRCLEQ, it is possible, when emptying the whole
timeout chain, to end up with CIRCQ_EMPTY being false, and bad things
happen. Back to the drawing board...
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_timeout.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index c5bd050bee9..1ae52807ba5 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_timeout.c,v 1.25 2006/07/19 20:25:08 miod Exp $ */ +/* $OpenBSD: kern_timeout.c,v 1.26 2008/01/20 18:23:38 miod Exp $ */ /* * Copyright (c) 2001 Thomas Nordin <nordin@openbsd.org> * Copyright (c) 2000-2001 Artur Grabowski <art@openbsd.org> @@ -30,7 +30,6 @@ #include <sys/lock.h> #include <sys/timeout.h> #include <sys/mutex.h> -#include <sys/queue.h> #ifdef DDB #include <machine/db_machdep.h> @@ -108,8 +107,6 @@ struct mutex timeout_mutex = MUTEX_INITIALIZER(IPL_HIGH); #define CIRCQ_REMOVE(elem) do { \ (elem)->next->prev = (elem)->prev; \ (elem)->prev->next = (elem)->next; \ - _Q_INVALIDATE((elem)->prev); \ - _Q_INVALIDATE((elem)->next); \ } while (0) #define CIRCQ_FIRST(elem) ((elem)->next) |