summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_event.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-06-07 10:16:53 +0000
committerphk <phk@FreeBSD.org>2003-06-07 10:16:53 +0000
commit69b4e9ce0114dea78c811d6c01cd8ebd9b810fc5 (patch)
treee42f41384b3d3867c6ecb12f9c7c63491a6db503 /sys/geom/geom_event.c
parent10afeb827154cef535bf9fb2c0fc4a2d5af0849d (diff)
downloadFreeBSD-src-69b4e9ce0114dea78c811d6c01cd8ebd9b810fc5.zip
FreeBSD-src-69b4e9ce0114dea78c811d6c01cd8ebd9b810fc5.tar.gz
Add missing va_end() calls.
Noticed by: tmm
Diffstat (limited to 'sys/geom/geom_event.c')
-rw-r--r--sys/geom/geom_event.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/geom/geom_event.c b/sys/geom/geom_event.c
index cf59749..12092e4 100644
--- a/sys/geom/geom_event.c
+++ b/sys/geom/geom_event.c
@@ -255,7 +255,6 @@ g_post_event_x(g_event_t *func, void *arg, int flag, struct g_event **epp, va_li
g_trace(G_T_TOPOLOGY, " ref %p", p);
ep->ref[n++] = p;
}
- va_end(ap);
KASSERT(p == NULL, ("Too many references to event"));
ep->func = func;
ep->arg = arg;
@@ -273,11 +272,14 @@ int
g_post_event(g_event_t *func, void *arg, int flag, ...)
{
va_list ap;
+ int i;
- va_start(ap, flag);
KASSERT(flag == M_WAITOK || flag == M_NOWAIT,
("Wrong flag to g_post_event"));
- return (g_post_event_x(func, arg, flag, NULL, ap));
+ va_start(ap, flag);
+ i = g_post_event_x(func, arg, flag, NULL, ap);
+ va_end(ap);
+ return (i);
}
@@ -296,10 +298,11 @@ g_waitfor_event(g_event_t *func, void *arg, int flag, ...)
int error;
/* g_topology_assert_not(); */
- va_start(ap, flag);
KASSERT(flag == M_WAITOK || flag == M_NOWAIT,
("Wrong flag to g_post_event"));
+ va_start(ap, flag);
error = g_post_event_x(func, arg, flag | EV_WAKEUP, &ep, ap);
+ va_end(ap);
if (error)
return (error);
do
OpenPOWER on IntegriCloud