2589. [bug] dns_db_unregister() failed to clear '*dbimp'.

[RT #19626]
This commit is contained in:
Mark Andrews
2009-04-29 22:11:34 +00:00
parent 14f5485d1d
commit f030c71500
2 changed files with 6 additions and 1 deletions

View File

@@ -1,3 +1,6 @@
2589. [bug] dns_db_unregister() failed to clear '*dbimp'.
[RT #19626]
2588. [bug] SO_REUSEADDR could be set unconditionally after failure
of bind(2) call. This should be rare and mostly
harmless, but may cause interference with other

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: db.c,v 1.88 2008/09/24 02:46:22 marka Exp $ */
/* $Id: db.c,v 1.89 2009/04/29 22:11:34 marka Exp $ */
/*! \file */
@@ -854,12 +854,14 @@ dns_db_unregister(dns_dbimplementation_t **dbimp) {
RUNTIME_CHECK(isc_once_do(&once, initialize) == ISC_R_SUCCESS);
imp = *dbimp;
*dbimp = NULL;
RWLOCK(&implock, isc_rwlocktype_write);
ISC_LIST_UNLINK(implementations, imp, link);
mctx = imp->mctx;
isc_mem_put(mctx, imp, sizeof(dns_dbimplementation_t));
isc_mem_detach(&mctx);
RWUNLOCK(&implock, isc_rwlocktype_write);
ENSURE(*dbimp == NULL);
}
isc_result_t