summaryrefslogtreecommitdiffstats
path: root/lib/workqueue.c
diff options
context:
space:
mode:
authorpaul <paul>2005-11-14 14:46:35 +0000
committerpaul <paul>2005-11-14 14:46:35 +0000
commitc9566ae0f0aa68ff16178a7fcfbd311f86a7d22b (patch)
tree5ef4d694586ebe460abfb9c40fbb39416c3dbd01 /lib/workqueue.c
parent62d0483a404bd3bae65cde9a1671d1900a43f6a4 (diff)
downloadquagga-c9566ae0f0aa68ff16178a7fcfbd311f86a7d22b.tar.bz2
quagga-c9566ae0f0aa68ff16178a7fcfbd311f86a7d22b.tar.xz
[workqueue] Update workqueue users callbacks to additional arguments
2005-11-14 Paul Jakma <paul.jakma@sun.com> * (general) pass struct work-queue to callback functions. * workqueue.h: (struct work_queue) move the state flag variables to end. Add an opaque pointer to spec, for user-data global to the queue. Pass reference to work_queue to all callbacks. * workqueue.c: (work_queue_item_remove) pass ref to workqueue to user callbacks. (work_queue_run) ditto.
Diffstat (limited to 'lib/workqueue.c')
-rw-r--r--lib/workqueue.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/workqueue.c b/lib/workqueue.c
index c2ff10db..0c61f5c4 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -147,7 +147,7 @@ work_queue_item_remove (struct work_queue *wq, struct listnode *ln)
/* call private data deletion callback if needed */
if (wq->spec.del_item_data)
- wq->spec.del_item_data (item->data);
+ wq->spec.del_item_data (wq, item->data);
list_delete_node (wq->items, ln);
work_queue_item_free (item);
@@ -284,7 +284,7 @@ work_queue_run (struct thread *thread)
/* run and take care of items that want to be retried immediately */
do
{
- ret = wq->spec.workfunc (item->data);
+ ret = wq->spec.workfunc (wq, item->data);
item->ran++;
}
while ((ret == WQ_RETRY_NOW)