mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
the static initializer wasn't always called.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: db.c,v 1.62 2000/11/16 22:33:43 bwelling Exp $ */
|
/* $Id: db.c,v 1.63 2000/11/17 01:06:37 bwelling Exp $ */
|
||||||
|
|
||||||
/***
|
/***
|
||||||
*** Imports
|
*** Imports
|
||||||
@@ -737,6 +737,8 @@ dns_db_register(const char *name, dns_dbcreatefunc_t create, void *driverarg,
|
|||||||
REQUIRE(name != NULL);
|
REQUIRE(name != NULL);
|
||||||
REQUIRE(dbimp != NULL && *dbimp == NULL);
|
REQUIRE(dbimp != NULL && *dbimp == NULL);
|
||||||
|
|
||||||
|
RUNTIME_CHECK(isc_once_do(&once, initialize) == ISC_R_SUCCESS);
|
||||||
|
|
||||||
RWLOCK(&implock, isc_rwlocktype_write);
|
RWLOCK(&implock, isc_rwlocktype_write);
|
||||||
imp = impfind(name);
|
imp = impfind(name);
|
||||||
if (imp != NULL) {
|
if (imp != NULL) {
|
||||||
@@ -770,6 +772,8 @@ dns_db_unregister(dns_dbimplementation_t **dbimp) {
|
|||||||
|
|
||||||
REQUIRE(dbimp != NULL && *dbimp != NULL);
|
REQUIRE(dbimp != NULL && *dbimp != NULL);
|
||||||
|
|
||||||
|
RUNTIME_CHECK(isc_once_do(&once, initialize) == ISC_R_SUCCESS);
|
||||||
|
|
||||||
imp = *dbimp;
|
imp = *dbimp;
|
||||||
RWLOCK(&implock, isc_rwlocktype_write);
|
RWLOCK(&implock, isc_rwlocktype_write);
|
||||||
ISC_LIST_UNLINK(implementations, imp, link);
|
ISC_LIST_UNLINK(implementations, imp, link);
|
||||||
|
Reference in New Issue
Block a user