]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/workqueue.h
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / lib / workqueue.h
index 6085820393d65865809bd06760c1b70759b2eb99..7c846550631df99d904f79aca57eb094e3007589 100644 (file)
@@ -30,6 +30,9 @@ DECLARE_MTYPE(WORK_QUEUE)
 /* Hold time for the initial schedule of a queue run, in  millisec */
 #define WORK_QUEUE_DEFAULT_HOLD 50
 
+/* Retry for queue that is 'blocked' or 'retry later' */
+#define WORK_QUEUE_DEFAULT_RETRY 0
+
 /* action value, for use by item processor and item error handlers */
 typedef enum {
        WQ_SUCCESS = 0,
@@ -90,6 +93,8 @@ struct work_queue {
 
                unsigned long
                        yield; /* yield time in us for associated thread */
+
+               uint32_t retry; /* Optional retry timeout if queue is blocked */
        } spec;
 
        /* remaining fields should be opaque to users */
@@ -154,7 +159,7 @@ extern struct work_queue *work_queue_new(struct thread_master *, const char *);
  * The usage of work_queue_free is being transitioned to pass
  * in the double pointer to remove use after free's.
  */
-#if defined(VERSION_TYPE_DEV) && CONFDATE > 20190205
+#if CONFDATE > 20190205
 CPP_NOTICE("work_queue_free without double pointer is deprecated, please fixup")
 #endif
 extern void work_queue_free_and_null(struct work_queue **);