clean up view and related object shutdown processes
The shutdown processes in dns_view
, dns_resolver
, dns_requestmgr
and dns_adb
were quite complex, involving circular object references (i.e., the view is attached to the ADB which is attached to the view) and whenshutdown
callback events. This can be simplified by correctly using dns_view_weakattach()
and dns_view_weakdetach()
and eliminating mutual dependencies between these objects during the shutdown process.
Edited by Evan Hunt