summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/workqueue.c6
-rw-r--r--lib/workqueue.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/workqueue.c b/lib/workqueue.c
index e09d009f..9fc89314 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -107,6 +107,12 @@ work_queue_free (struct work_queue *wq)
return;
}
+bool
+work_queue_is_scheduled (struct work_queue *wq)
+{
+ return (wq->thread != NULL);
+}
+
static int
work_queue_schedule (struct work_queue *wq, unsigned int delay)
{
diff --git a/lib/workqueue.h b/lib/workqueue.h
index f59499a0..5ad25893 100644
--- a/lib/workqueue.h
+++ b/lib/workqueue.h
@@ -119,6 +119,8 @@ extern void work_queue_plug (struct work_queue *wq);
/* unplug the queue, allow it to be drained again */
extern void work_queue_unplug (struct work_queue *wq);
+bool work_queue_is_scheduled (struct work_queue *);
+
/* Helpers, exported for thread.c and command.c */
extern int work_queue_run (struct thread *);
extern struct cmd_element show_work_queues_cmd;