2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 14:07:59 +00:00

[master] Do not use thread-local storage for storing LMDB reader locktable slots

4828.	[bug]		Do not use thread-local storage for storing LMDB reader
			locktable slots. [RT #46556]
This commit is contained in:
Michał Kępień
2017-11-27 09:48:10 +01:00
parent 31b6ae485e
commit 40a90fbf89
3 changed files with 15 additions and 2 deletions

View File

@@ -1,3 +1,6 @@
4828. [bug] Do not use thread-local storage for storing LMDB reader
locktable slots. [RT #46556]
4827. [misc] Add a precommit check script util/checklibs.sh 4827. [misc] Add a precommit check script util/checklibs.sh
[RT #46215] [RT #46215]

View File

@@ -12085,8 +12085,13 @@ nzd_env_reopen(dns_view_t *view) {
} }
} }
/*
* MDB_NOTLS is used to prevent problems after configuration is
* reloaded, due to the way LMDB's use of thread-local storage (TLS)
* interacts with the BIND9 thread model.
*/
status = mdb_env_open(env, view->new_zone_db, status = mdb_env_open(env, view->new_zone_db,
MDB_NOSUBDIR|MDB_CREATE, 0600); MDB_NOSUBDIR|MDB_NOTLS|MDB_CREATE, 0600);
if (status != 0) { if (status != 0) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
ISC_LOGMODULE_OTHER, ISC_LOG_ERROR, ISC_LOGMODULE_OTHER, ISC_LOG_ERROR,

View File

@@ -2122,8 +2122,13 @@ dns_view_setnewzones(dns_view_t *view, isc_boolean_t allow, void *cfgctx,
} }
} }
/*
* MDB_NOTLS is used to prevent problems after configuration is
* reloaded, due to the way LMDB's use of thread-local storage (TLS)
* interacts with the BIND9 thread model.
*/
status = mdb_env_open(env, view->new_zone_db, status = mdb_env_open(env, view->new_zone_db,
MDB_NOSUBDIR|MDB_CREATE, 0600); MDB_NOSUBDIR|MDB_NOTLS|MDB_CREATE, 0600);
if (status != 0) { if (status != 0) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
ISC_LOGMODULE_OTHER, ISC_LOG_ERROR, ISC_LOGMODULE_OTHER, ISC_LOG_ERROR,