From 1edb223dd355a5f7579ca9f1ddf4d1d0f739548d Mon Sep 17 00:00:00 2001 From: Michael Graff Date: Fri, 6 Nov 1998 01:44:44 +0000 Subject: [PATCH] return the number of items purged --- lib/isc/include/isc/task.h | 2 +- lib/isc/task.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/isc/include/isc/task.h b/lib/isc/include/isc/task.h index 48d6eff1a6..1b5f44c5ef 100644 --- a/lib/isc/include/isc/task.h +++ b/lib/isc/include/isc/task.h @@ -77,7 +77,7 @@ void isc_task_attach(isc_task_t, void isc_task_detach(isc_task_t *); void isc_task_send(isc_task_t, isc_event_t *); -void isc_task_purge(isc_task_t, void *, +unsigned int isc_task_purge(isc_task_t, void *, isc_eventtype_t); void isc_task_shutdown(isc_task_t); void isc_task_destroy(isc_task_t *); diff --git a/lib/isc/task.c b/lib/isc/task.c index b48cac3f20..a1b06c5172 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -341,10 +341,11 @@ isc_task_send(isc_task_t task, isc_event_t *eventp) { XTRACE("sent"); } -void +unsigned int isc_task_purge(isc_task_t task, void *sender, isc_eventtype_t type) { isc_event_t event, next_event; isc_eventlist_t purgeable; + unsigned int purge_count; REQUIRE(VALID_TASK(task)); REQUIRE(type >= 0); @@ -356,6 +357,7 @@ isc_task_purge(isc_task_t task, void *sender, isc_eventtype_t type) { */ INIT_LIST(purgeable); + purge_count = 0; LOCK(&task->lock); for (event = HEAD(task->events); @@ -375,7 +377,10 @@ isc_task_purge(isc_task_t task, void *sender, isc_eventtype_t type) { event = next_event) { next_event = NEXT(event, link); isc_event_free(&event); + purge_count++; } + + return (purge_count); } void