From 412bff1f39c19dbc588d70ac080106215db7eec4 Mon Sep 17 00:00:00 2001 From: pjd Date: Tue, 9 Nov 2004 23:20:50 +0000 Subject: Introduce g_waitidlelock() function which is simlar to g_waitidle(), but should be called with the topology lock held and returns with the topology lock held and empty event queue. Approved by: phk (sometime ago) --- sys/geom/geom_event.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sys/geom/geom_event.c') diff --git a/sys/geom/geom_event.c b/sys/geom/geom_event.c index 9166c30..f550efc 100644 --- a/sys/geom/geom_event.c +++ b/sys/geom/geom_event.c @@ -90,6 +90,18 @@ g_waitidle(void) } void +g_waitidlelock(void) +{ + + g_topology_assert(); + while (g_pending_events) { + g_topology_unlock(); + tsleep(&g_pending_events, PPAUSE, "g_waitidle", hz/5); + g_topology_lock(); + } +} + +void g_orphan_provider(struct g_provider *pp, int error) { -- cgit v1.1