aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/geom_event.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2003-04-23 20:54:42 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2003-04-23 20:54:42 +0000
commita974614b05722d8861c3aca7afa70b16fdd1c91f (patch)
tree9b69241966c7cdaba026b6983cb54755617cabcc /sys/geom/geom_event.c
parent8cd1535a247ade29be99fe8521d0740fc79e68cd (diff)
downloadsrc-a974614b05722d8861c3aca7afa70b16fdd1c91f.tar.gz
src-a974614b05722d8861c3aca7afa70b16fdd1c91f.zip
More of the event stuff can now be private to geom_event.c
Notes
Notes: svn path=/head/; revision=113938
Diffstat (limited to 'sys/geom/geom_event.c')
-rw-r--r--sys/geom/geom_event.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/geom/geom_event.c b/sys/geom/geom_event.c
index ec34c878f33d..babff65431f4 100644
--- a/sys/geom/geom_event.c
+++ b/sys/geom/geom_event.c
@@ -52,12 +52,23 @@
#include <geom/geom.h>
#include <geom/geom_int.h>
+TAILQ_HEAD(event_tailq_head, g_event);
+
static struct event_tailq_head g_events = TAILQ_HEAD_INITIALIZER(g_events);
static u_int g_pending_events;
static TAILQ_HEAD(,g_provider) g_doorstep = TAILQ_HEAD_INITIALIZER(g_doorstep);
static struct mtx g_eventlock;
static struct sx g_eventstall;
+#define G_N_EVENTREFS 20
+
+struct g_event {
+ TAILQ_ENTRY(g_event) events;
+ void *arg;
+ g_event_t *func;
+ void *ref[G_N_EVENTREFS];
+};
+
void
g_waitidle(void)
{
@@ -243,7 +254,6 @@ g_post_event(g_event_t *func, void *arg, int flag, ...)
return (0);
}
-
void
g_event_init()
{