diff options
Diffstat (limited to 'usr/src/lib/libfakekernel/common/taskq.c')
-rw-r--r-- | usr/src/lib/libfakekernel/common/taskq.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/usr/src/lib/libfakekernel/common/taskq.c b/usr/src/lib/libfakekernel/common/taskq.c index a9320024ad..ffaa73fccc 100644 --- a/usr/src/lib/libfakekernel/common/taskq.c +++ b/usr/src/lib/libfakekernel/common/taskq.c @@ -25,6 +25,7 @@ /* * Copyright 2012 Garrett D'Amore <garrett@damore.org>. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2017, Joyent, Inc. */ #include <sys/taskq_impl.h> @@ -208,6 +209,18 @@ taskq_dispatch_ent(taskq_t *tq, task_func_t func, void *arg, uint_t flags, mutex_exit(&tq->tq_lock); } +boolean_t +taskq_empty(taskq_t *tq) +{ + boolean_t rv; + + mutex_enter(&tq->tq_lock); + rv = (tq->tq_task.tqent_next == &tq->tq_task) && (tq->tq_active == 0); + mutex_exit(&tq->tq_lock); + + return (rv); +} + void taskq_wait(taskq_t *tq) { |