]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/workqueue.c
lib: Add int encoder/decoder
[mirror_frr.git] / lib / workqueue.c
index 066d81f35020e66998fe59ec3ce75ef1754ee2b1..2a8326c056d5db34e2f7bc62a8c2646ccbbe25d2 100644 (file)
@@ -28,9 +28,9 @@
 #include "command.h"
 #include "log.h"
 
-DEFINE_MTYPE(LIB, WORK_QUEUE, "Work queue")
-DEFINE_MTYPE_STATIC(LIB, WORK_QUEUE_ITEM, "Work queue item")
-DEFINE_MTYPE_STATIC(LIB, WORK_QUEUE_NAME, "Work queue name string")
+DEFINE_MTYPE(LIB, WORK_QUEUE, "Work queue");
+DEFINE_MTYPE_STATIC(LIB, WORK_QUEUE_ITEM, "Work queue item");
+DEFINE_MTYPE_STATIC(LIB, WORK_QUEUE_NAME, "Work queue name string");
 
 /* master list of work_queues */
 static struct list _work_queues;
@@ -104,7 +104,7 @@ void work_queue_free_and_null(struct work_queue **wqp)
        struct work_queue *wq = *wqp;
 
        if (wq->thread != NULL)
-               thread_cancel(wq->thread);
+               thread_cancel(&(wq->thread));
 
        while (!work_queue_empty(wq)) {
                struct work_queue_item *item = work_queue_last_item(wq);
@@ -215,7 +215,7 @@ void workqueue_cmd_init(void)
 void work_queue_plug(struct work_queue *wq)
 {
        if (wq->thread)
-               thread_cancel(wq->thread);
+               thread_cancel(&(wq->thread));
 
        wq->thread = NULL;
 
@@ -280,7 +280,7 @@ int work_queue_run(struct thread *thread)
                if (item->ran > wq->spec.max_retries) {
                        /* run error handler, if any */
                        if (wq->spec.errorfunc)
-                               wq->spec.errorfunc(wq, item->data);
+                               wq->spec.errorfunc(wq, item);
                        work_queue_item_remove(wq, item);
                        continue;
                }
@@ -377,11 +377,6 @@ stats:
        if (yielded)
                wq->yields++;
 
-#if 0
-  printf ("%s: cycles %d, new: best %d, worst %d\n",
-            __func__, cycles, wq->cycles.best, wq->cycles.granularity);
-#endif
-
        /* Is the queue done yet? If it is, call the completion callback. */
        if (!work_queue_empty(wq)) {
                if (ret == WQ_RETRY_LATER ||