]> git.ipfire.org Git - thirdparty/bind9.git/commit
Update netmgr, tasks, and applications to use isc_loopmgr
authorOndřej Surý <ondrej@isc.org>
Tue, 26 Jul 2022 11:03:45 +0000 (13:03 +0200)
committerOndřej Surý <ondrej@isc.org>
Fri, 26 Aug 2022 07:09:24 +0000 (09:09 +0200)
commitb69e783164cd50e3306364668558e460617ee8fc
treed77fd802859d12177bcce6f87a352627fca28b93
parent49b149f5fd34951c0d995766a97750c3796bf693
Update netmgr, tasks, and applications to use isc_loopmgr

Previously:

* applications were using isc_app as the base unit for running the
  application and signal handling.

* networking was handled in the netmgr layer, which would start a
  number of threads, each with a uv_loop event loop.

* task/event handling was done in the isc_task unit, which used
  netmgr event loops to run the isc_event calls.

In this refactoring:

* the network manager now uses isc_loop instead of maintaining its
  own worker threads and event loops.

* the taskmgr that manages isc_task instances now also uses isc_loopmgr,
  and every isc_task runs on a specific isc_loop bound to the specific
  thread.

* applications have been updated as necessary to use the new API.

* new ISC_LOOP_TEST macros have been added to enable unit tests to
  run isc_loop event loops. unit tests have been updated to use this
  where needed.
90 files changed:
bin/delv/delv.c
bin/dig/dighost.c
bin/dig/dighost.h
bin/dnssec/dnssec-signzone.c
bin/dnssec/dnssec-verify.c
bin/named/control.c
bin/named/controlconf.c
bin/named/fuzz.c
bin/named/include/named/server.h
bin/named/log.c
bin/named/main.c
bin/named/server.c
bin/nsupdate/nsupdate.c
bin/rndc/rndc.c
bin/tests/system/dyndb/driver/Makefile.am
bin/tests/system/dyndb/driver/lock.c [deleted file]
bin/tests/system/dyndb/driver/lock.h [deleted file]
bin/tests/system/dyndb/driver/zone.c
bin/tests/system/pipelined/pipequeries.c
bin/tests/system/resolve.c
bin/tests/system/statistics/tests.sh
bin/tests/system/tkey/keycreate.c
bin/tests/system/tkey/keydelete.c
bin/tests/test_client.c
bin/tests/test_server.c
bin/tools/mdig.c
doc/design/zone
lib/bind9/include/bind9/getaddresses.h
lib/dns/adb.c
lib/dns/cache.c
lib/dns/catz.c
lib/dns/client.c
lib/dns/dnstap.c
lib/dns/include/dns/client.h
lib/dns/masterdump.c
lib/dns/nta.c
lib/dns/resolver.c
lib/dns/rpz.c
lib/dns/view.c
lib/dns/zone.c
lib/isc/httpd.c
lib/isc/include/isc/managers.h
lib/isc/include/isc/netmgr.h
lib/isc/include/isc/task.h
lib/isc/include/isc/types.h
lib/isc/include/isc/util.h
lib/isc/log.c
lib/isc/managers.c
lib/isc/netmgr/http.c
lib/isc/netmgr/netmgr-int.h
lib/isc/netmgr/netmgr.c
lib/isc/netmgr/tcp.c
lib/isc/netmgr/tcpdns.c
lib/isc/netmgr/timer.c
lib/isc/netmgr/tlsdns.c
lib/isc/netmgr/tlsstream.c
lib/isc/netmgr/udp.c
lib/isc/netmgr_p.h [deleted file]
lib/isc/task.c
lib/isc/task_p.h [deleted file]
lib/isc/timer.c
lib/ns/client.c
lib/ns/include/ns/client.h
lib/ns/include/ns/interfacemgr.h
lib/ns/interfacemgr.c
tests/dns/.gitignore
tests/dns/dispatch_test.c
tests/dns/keytable_test.c
tests/dns/resolver_test.c
tests/dns/tsig_test.c
tests/dns/zonemgr_test.c
tests/dns/zt_test.c
tests/include/tests/dns.h
tests/include/tests/isc.h
tests/include/tests/ns.h
tests/isc/Makefile.am
tests/isc/doh_test.c
tests/isc/lex_test.c
tests/isc/task_test.c
tests/isccfg/duration_test.c
tests/isccfg/parser_test.c
tests/libtest/dns.c
tests/libtest/isc.c
tests/libtest/ns.c
tests/ns/Makefile.am
tests/ns/listenlist_test.c
tests/ns/netmgr_wrap.c [new file with mode: 0644]
tests/ns/notify_test.c
tests/ns/plugin_test.c
tests/ns/query_test.c