- Fix #305: only wake up thread when threshold reached.

This commit is contained in:
W.C.A. Wijngaards 2020-09-23 13:20:25 +02:00
parent 7da369e85a
commit ed6e3c0c66
2 changed files with 4 additions and 2 deletions

View file

@ -258,8 +258,9 @@ dt_msg_queue_submit(struct dt_msg_queue* mq, void* buf, size_t len)
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) {

View file

@ -1,6 +1,7 @@
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