]> git.ipfire.org Git - thirdparty/bind9.git/commit
change from isc_nmhandle_ref/unref to isc_nmhandle attach/detach
authorEvan Hunt <each@isc.org>
Thu, 3 Sep 2020 20:31:27 +0000 (13:31 -0700)
committerOndřej Surý <ondrej@sury.org>
Thu, 1 Oct 2020 16:09:35 +0000 (18:09 +0200)
commitba2e9dfb99ac50970874ba2744f930fc4c291bd8
treecae778dec1e315e05a5112298d3924b198fb91b1
parent0202b289c27ca4797ba89d7cbf5e183ad1c917d1
change from isc_nmhandle_ref/unref to isc_nmhandle attach/detach

Attaching and detaching handle pointers will make it easier to
determine where and why reference counting errors have occurred.

A handle needs to be referenced more than once when multiple
asynchronous operations are in flight, so callers must now maintain
multiple handle pointers for each pending operation. For example,
ns_client objects now contain:

        - reqhandle:    held while waiting for a request callback (query,
                        notify, update)
        - sendhandle:   held while waiting for a send callback
        - fetchhandle:  held while waiting for a recursive fetch to
                        complete
        - updatehandle: held while waiting for an update-forwarding
                        task to complete

(cherry picked from commit 57b4dde9749c88d21d1dc8afd22201224cf83cab)
20 files changed:
bin/named/server.c
bin/tests/system/rndc/ns4/named.conf.in
lib/isc/include/isc/netmgr.h
lib/isc/netmgr/netmgr.c
lib/isc/netmgr/tcp.c
lib/isc/netmgr/tcpdns.c
lib/isc/netmgr/udp.c
lib/isc/win32/libisc.def.in
lib/ns/client.c
lib/ns/include/ns/client.h
lib/ns/include/ns/notify.h
lib/ns/include/ns/query.h
lib/ns/include/ns/update.h
lib/ns/notify.c
lib/ns/query.c
lib/ns/tests/Makefile.in
lib/ns/tests/notify_test.c
lib/ns/tests/nstest.c
lib/ns/update.c
lib/ns/xfrout.c