4044. [bug] Change 3955 was not complete resulting is a assertion

failure is the timing was just right. [RT #38352]
This commit is contained in:
Mark Andrews 2015-01-22 10:38:40 +11:00
parent bac4435d47
commit 17dc146c7c
2 changed files with 7 additions and 3 deletions

View file

@ -1,3 +1,6 @@
4044. [bug] Change 3955 was not complete resulting is a assertion
failure is the timing was just right. [RT #38352]
4043. [func] "rndc modzone" can be used to modify the
configuration of an existing zone, using similar
syntax to "rndc addzone". [RT #37895]

View file

@ -154,8 +154,8 @@ isc_ratelimiter_enqueue(isc_ratelimiter_t *rl, isc_task_t *task,
if (rl->state == isc_ratelimiter_ratelimited ||
rl->state == isc_ratelimiter_stalled) {
ev->ev_sender = task;
ISC_LIST_APPEND(rl->pending, ev, ev_link);
*eventp = NULL;
ISC_LIST_APPEND(rl->pending, ev, ev_link);
} else if (rl->state == isc_ratelimiter_idle) {
result = isc_timer_reset(rl->timer, isc_timertype_ticker, NULL,
&rl->interval, ISC_FALSE);
@ -181,9 +181,10 @@ isc_ratelimiter_dequeue(isc_ratelimiter_t *rl, isc_event_t *event) {
REQUIRE(event != NULL);
LOCK(&rl->lock);
if (ISC_LINK_LINKED(event, ev_link))
if (ISC_LINK_LINKED(event, ev_link)) {
ISC_LIST_UNLINK(rl->pending, event, ev_link);
else
event->ev_sender = NULL;
} else
result = ISC_R_NOTFOUND;
UNLOCK(&rl->lock);
return (result);