aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2003-05-01 19:24:00 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2003-05-01 19:24:00 +0000
commit2ab31b05bae57849874622ed5cc3ebaa898c54bb (patch)
treed036538791d2c7d7e0073464919571b1d0c936a7
parent6140afa7aba75c51fa5a3259588629af17edbf71 (diff)
Notes
-rw-r--r--sys/geom/geom_event.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/geom/geom_event.c b/sys/geom/geom_event.c
index 0add6cf1411fc..c0ec8e1849111 100644
--- a/sys/geom/geom_event.c
+++ b/sys/geom/geom_event.c
@@ -210,9 +210,16 @@ void
g_cancel_event(void *ref)
{
struct g_event *ep, *epn;
+ struct g_provider *pp;
u_int n;
mtx_lock(&g_eventlock);
+ TAILQ_FOREACH(pp, &g_doorstep, orphan) {
+ if (pp != ref)
+ continue;
+ TAILQ_REMOVE(&g_doorstep, pp, orphan);
+ break;
+ }
for (ep = TAILQ_FIRST(&g_events); ep != NULL; ep = epn) {
epn = TAILQ_NEXT(ep, events);
for (n = 0; n < G_N_EVENTREFS; n++) {