From: W.C.A. Wijngaards Date: Wed, 23 Sep 2020 11:20:25 +0000 (+0200) Subject: - Fix #305: only wake up thread when threshold reached. X-Git-Tag: release-1.12.0rc1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed6e3c0c663893a86a16631861ded05d8cb7672f;p=thirdparty%2Funbound.git - Fix #305: only wake up thread when threshold reached. --- diff --git a/dnstap/dtstream.c b/dnstap/dtstream.c index b0586d1ba..b0918c52c 100644 --- a/dnstap/dtstream.c +++ b/dnstap/dtstream.c @@ -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) { diff --git a/doc/Changelog b/doc/Changelog index e316ea99f..4cd9a8e78 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -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