mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
257. [bug] The server detached the last zone manager reference
too early, while it could still be in use by queries. This manifested itself as assertion failures during the shutdown process for busy name servers (RT #133). 256. [func] isc_ratelimiter_t now has attach/detach semantics, and isc_ratelimiter_shutdown guarantees that the rate limiter is detached from its task. 255. [func] New function dns_zonemgr_attach().
This commit is contained in:
@@ -88,24 +88,29 @@ isc_ratelimiter_enqueue(isc_ratelimiter_t *rl, isc_task_t *task,
|
||||
void
|
||||
isc_ratelimiter_shutdown(isc_ratelimiter_t *ratelimiter);
|
||||
/*
|
||||
* Shut down a rate limiter. All events that have not yet been
|
||||
* dispatched to the task are dispatched immediately with
|
||||
* the ISC_EVENTATTR_CANCELED bit set in ev_attributes.
|
||||
* Further attempts to enqueue events will fail with
|
||||
* ISC_R_SHUTTINGDOWN.
|
||||
* Shut down a rate limiter.
|
||||
*
|
||||
* Ensures:
|
||||
* All events that have not yet been
|
||||
* dispatched to the task are dispatched immediately with
|
||||
* the ISC_EVENTATTR_CANCELED bit set in ev_attributes.
|
||||
*
|
||||
* Further attempts to enqueue events will fail with
|
||||
* ISC_R_SHUTTINGDOWN.
|
||||
*
|
||||
* The reatelimiter is no longer attached to its task.
|
||||
*/
|
||||
|
||||
void
|
||||
isc_ratelimiter_destroy(isc_ratelimiter_t **ratelimiterp);
|
||||
isc_ratelimiter_attach(isc_ratelimiter_t *source, isc_ratelimiter_t **target);
|
||||
/*
|
||||
* Destroy a rate limiter.
|
||||
* Does not destroy the task or events already queued on it.
|
||||
*
|
||||
* Requires:
|
||||
* The rate limiter to have been shut down.
|
||||
*
|
||||
* Ensures:
|
||||
* Resources used by the rate limiter will be freed.
|
||||
* Attach to a rate limiter.
|
||||
*/
|
||||
|
||||
void
|
||||
isc_ratelimiter_detach(isc_ratelimiter_t **ratelimiterp);
|
||||
/*
|
||||
* Detach from a rate limiter.
|
||||
*/
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
Reference in New Issue
Block a user