summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_pool.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/subr_pool.c')
-rw-r--r--sys/kern/subr_pool.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/kern/subr_pool.c b/sys/kern/subr_pool.c
index fbe077a5d61..f924edd6a39 100644
--- a/sys/kern/subr_pool.c
+++ b/sys/kern/subr_pool.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_pool.c,v 1.224 2019/02/10 20:02:37 tedu Exp $ */
+/* $OpenBSD: subr_pool.c,v 1.225 2019/02/10 20:05:04 tedu Exp $ */
/* $NetBSD: subr_pool.c,v 1.61 2001/09/26 07:14:56 chs Exp $ */
/*-
@@ -1638,6 +1638,9 @@ pool_multi_alloc(struct pool *pp, int flags, int *slowdown)
void *v;
int s;
+ if (flags & PR_WAITOK)
+ return pool_multi_alloc_ni(pp, flags, slowdown);
+
if (POOL_INPGHDR(pp))
kv.kv_align = pp->pr_pgsize;
@@ -1657,6 +1660,11 @@ pool_multi_free(struct pool *pp, int flags, void *v)
struct kmem_va_mode kv = kv_intrsafe;
int s;
+ if (flags & PR_WAITOK) {
+ pool_multi_free_ni(pp, flags, v);
+ return;
+ }
+
if (POOL_INPGHDR(pp))
kv.kv_align = pp->pr_pgsize;