]> git.ipfire.org Git - thirdparty/bind9.git/commit
2937. [bug] Worked around an apparent race condition in over
authorTatuya JINMEI 神明達哉 <jinmei@isc.org>
Wed, 11 Aug 2010 23:09:18 +0000 (23:09 +0000)
committerTatuya JINMEI 神明達哉 <jinmei@isc.org>
Wed, 11 Aug 2010 23:09:18 +0000 (23:09 +0000)
commit6650f6308ec2ff123c94efe50c36d7f166991279
treeaf98f255d2cb8961ce5c38c2b3ad1d6d0a1dc0f0
parent7fbb8ae0ba7a10a0d862461b7e330685b1bb0da1
2937. [bug] Worked around an apparent race condition in over
memory conditions.  Without this fix a DNS cache DB or
ADB could incorrectly stay in an over memory state,
effectively refusing further caching, which
subsequently made a BIND 9 caching server unworkable.
This fix prevents this problem from happening by
polling the state of the memory context, rather than
making a copy of the state, which appeared to cause
a race.  This is a "workaround" in that it doesn't
solve the possible race per se, but several experiments
proved this change solves the symptom.  Also, the
polling overhead hasn't been reported to be an issue.
This bug should only affect a caching server that
specifies a finite max-cache-size.  It's also quite
likely that the bug happens only when enabling threads,
but it's not confirmed yet. [RT #21818]
CHANGES
lib/dns/adb.c
lib/dns/rbtdb.c
lib/isc/include/isc/mem.h
lib/isc/mem.c