1118. [bug] On multithreaded servers, a race condition

could cause an assertion failure in resolver.c
                        during resolver shutdown. [RT #2029]
This commit is contained in:
Andreas Gustafsson
2001-11-12 18:48:50 +00:00
parent c0bf2b179a
commit e3e94dd137
2 changed files with 7 additions and 3 deletions

View File

@@ -1,3 +1,7 @@
1118. [bug] On multithreaded servers, a race condition
could cause an assertion failure in resolver.c
during resolver shutdown. [RT #2029]
1117. [port] The configure check for in6addr_loopback incorrectly
succeeded on AIX 4.3 when compiling with -O2
because the test code was optimized away.

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: resolver.c,v 1.228 2001/11/04 19:20:39 gson Exp $ */
/* $Id: resolver.c,v 1.229 2001/11/12 18:48:50 gson Exp $ */
#include <config.h>
@@ -1932,8 +1932,6 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) {
FCTXTRACE("doshutdown");
fctx->attributes |= FCTX_ATTR_SHUTTINGDOWN;
/*
* An fctx that is shutting down is no longer in ADDRWAIT mode.
*/
@@ -1958,6 +1956,8 @@ fctx_doshutdown(isc_task_t *task, isc_event_t *event) {
LOCK(&res->buckets[bucketnum].lock);
fctx->attributes |= FCTX_ATTR_SHUTTINGDOWN;
INSIST(fctx->state == fetchstate_active ||
fctx->state == fetchstate_done);
INSIST(fctx->want_shutdown);