]> git.ipfire.org Git - thirdparty/bind9.git/commit
Change the 'isc_g_mctx' to be always available
authorOndřej Surý <ondrej@isc.org>
Thu, 24 Jul 2025 06:06:04 +0000 (08:06 +0200)
committerOndřej Surý <ondrej@isc.org>
Mon, 4 Aug 2025 09:29:50 +0000 (11:29 +0200)
commitf7e5c1db38ec0ac6945510a65d931c546d485d41
tree5cfa45f60ef6ae8044c3d175d22cca891ba9cdc2
parent74726b3313e92be7f28c892a858614ed368d5f21
Change the 'isc_g_mctx' to be always available

This required couple of internal changes to the isc_mem_debugging.

The isc_mem_debugging is now internal to isc_mem unit and there are
three new functions:

1. isc_mem_setdebugging() can change the debugging setting for an
   individual memory context.  This is need for the memory contexts used
   for OpenSSL, libxml and libuv accounting as recording and tracing
   memory is broken there.

2. isc_mem_debugon() / isc_mem_debugoff() can be used to change default
   memory debugging flags as well as debugging flags for isc_g_mctx.

Additionally, the memory debugging is inconsistent across the code-base.
For now, we are keeping the existing flags, but three new environment
variables have been added 'ISC_MEM_DEBUGRECORD', 'ISC_MEM_DEBUGTRACE'
and 'ISC_MEM_DEBUGUSAGE' to set the global debugging flags at any
program using the memory contexts.
44 files changed:
bin/check/check-tool.c
bin/check/named-checkconf.c
bin/check/named-checkzone.c
bin/confgen/rndc-confgen.c
bin/confgen/tsig-keygen.c
bin/delv/delv.c
bin/dig/dig.c
bin/dig/host.c
bin/dnssec/dnssec-cds.c
bin/dnssec/dnssec-dsfromkey.c
bin/dnssec/dnssec-importkey.c
bin/dnssec/dnssec-keyfromlabel.c
bin/dnssec/dnssec-keygen.c
bin/dnssec/dnssec-ksr.c
bin/dnssec/dnssec-revoke.c
bin/dnssec/dnssec-settime.c
bin/dnssec/dnssec-signzone.c
bin/dnssec/dnssec-verify.c
bin/named/main.c
bin/named/server.c
bin/nsupdate/nsupdate.c
bin/rndc/rndc.c
bin/tests/system/rsabigexponent/bigkey.c
bin/tests/system/wire-test.c
bin/tools/dnstap-read.c
bin/tools/mdig.c
bin/tools/named-journalprint.c
bin/tools/named-makejournal.c
bin/tools/named-rrchecker.c
lib/isc/crypto.c
lib/isc/include/isc/mem.h
lib/isc/log.c
lib/isc/managers.c
lib/isc/mem.c
lib/isc/thread.c
lib/isc/uv.c
lib/isc/xml.c
tests/bench/compress.c
tests/bench/load-names.c
tests/bench/qp-dump.c
tests/bench/qplookups.c
tests/bench/qpmulti.c
tests/isc/mem_test.c
tests/libtest/isc.c