diff options
Diffstat (limited to 'zebra')
-rw-r--r-- | zebra/ChangeLog | 9 | ||||
-rw-r--r-- | zebra/zebra_rib.c | 12 |
2 files changed, 15 insertions, 6 deletions
diff --git a/zebra/ChangeLog b/zebra/ChangeLog index f943d655..16f83ae7 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,12 @@ +2005-11-14 Paul Jakma <paul.jakma@sun.com> + + * zebra_rib.c: (rib_process) convert to new workqueue specs and + shut up gcc, which complains about cast from void via + function parameters, for some dumb reason. Do the cast + inside the function instead. + (rib_queue_qnode_del) ditto. + (rib_queue_init) no need for the casts anymore. + 2005-11-12 Alexander Gall <gall@switch.ch> * See [quagga-dev 1815] diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 060f46da..fb983bdb 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -881,8 +881,9 @@ rib_uninstall (struct route_node *rn, struct rib *rib) /* Core function for processing routing information base. */ static wq_item_status -rib_process (struct zebra_queue_node_t *qnode) +rib_process (struct work_queue *wq, void *data) { + struct zebra_queue_node_t *qnode = data; struct rib *rib; struct rib *next; struct rib *fib = NULL; @@ -1052,8 +1053,9 @@ rib_queue_add (struct zebra_t *zebra, struct route_node *rn, struct rib *del) /* free zebra_queue_node_t */ static void -rib_queue_qnode_del (struct zebra_queue_node_t *qnode) +rib_queue_qnode_del (struct work_queue *wq, void *data) { + struct zebra_queue_node_t *qnode = data; route_unlock_node (qnode->node); if (qnode->del) @@ -1076,13 +1078,11 @@ rib_queue_init (struct zebra_t *zebra) } /* fill in the work queue spec */ - zebra->ribq->spec.workfunc = (wq_item_status (*) (void *))&rib_process; + zebra->ribq->spec.workfunc = &rib_process; zebra->ribq->spec.errorfunc = NULL; - zebra->ribq->spec.del_item_data = (void (*) (void *)) &rib_queue_qnode_del; + zebra->ribq->spec.del_item_data = &rib_queue_qnode_del; /* XXX: TODO: These should be runtime configurable via vty */ zebra->ribq->spec.max_retries = 3; - zebra->ribq->spec.hold = 500; - zebra->ribq->spec.delay = 10; return; } |