summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-01-20 18:23:39 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-01-20 18:23:39 +0000
commit273324ce080286e32f4c76be4dc65f5bdb069210 (patch)
treeca8ed343e21b19088d78a58e5b645d09b5cdd219 /sys
parent81b33b354fe4132d8a52cdc2ba7fe9e08a3953dd (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.c5
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)