wakeupstarttimer = 1;
/* if list contains more than wakeupnum elements, wakeup now,
* or if list is (going to be) almost full */
- if(mq->msgcount+1 > DTIO_MSG_FOR_WAKEUP ||
- mq->cursize+len >= mq->maxsize * 9 / 10)
+ if(mq->msgcount == DTIO_MSG_FOR_WAKEUP ||
+ (mq->cursize < mq->maxsize * 9 / 10 &&
+ mq->cursize+len >= mq->maxsize * 9 / 10))
wakeupnow = 1;
/* see if it is going to fit */
if(mq->cursize + len > mq->maxsize) {
23 September 2020: Wouter
- Fix #305: dnstap logging significantly affects unbound performance
(regression in 1.11).
+ - Fix #305: only wake up thread when threshold reached.
23 September 2020: Ralph
- Fix edns-client-tags get_option typo