@@ -1531,6 +1531,8 @@ fn build_with_store_internal(
15311531 let om_resolver = match & config. hrn_config {
15321532 None => Arc :: new ( IgnoringMessageHandler { } ) ,
15331533 Some ( hrn_config) => {
1534+ let runtime_handle = runtime. handle ( ) ;
1535+
15341536 let client_resolver: Arc < dyn DNSResolverMessageHandler + Send + Sync > =
15351537 match & hrn_config. client_resolution_config {
15361538 HRNResolverConfig :: Blip32Onion => {
@@ -1550,15 +1552,17 @@ fn build_with_store_internal(
15501552 }
15511553 } ) ) ;
15521554
1553- hrn_res
1555+ hrn_res as Arc < dyn DNSResolverMessageHandler + Send + Sync >
15541556 } ,
15551557 HRNResolverConfig :: LocalDns { dns_server_address } => {
15561558 let addr = dns_server_address
15571559 . parse ( )
15581560 . map_err ( |_| BuildError :: DNSResolverSetupFailed ) ?;
15591561 let hrn_res = Arc :: new ( DNSHrnResolver ( addr) ) ;
15601562 hrn_resolver_out = Some ( Arc :: new ( HRNResolver :: Local ( hrn_res) ) ) ;
1561- Arc :: new ( OMDomainResolver :: ignoring_incoming_proofs ( addr) )
1563+ let resolver = Arc :: new ( OMDomainResolver :: ignoring_incoming_proofs ( addr) ) ;
1564+ resolver. set_runtime ( runtime_handle. clone ( ) ) ;
1565+ resolver as Arc < dyn DNSResolverMessageHandler + Send + Sync >
15621566 } ,
15631567 } ;
15641568
@@ -1578,7 +1582,7 @@ fn build_with_store_internal(
15781582 Arc :: new ( OMDomainResolver :: with_runtime (
15791583 service_dns_addr,
15801584 Some ( client_resolver) ,
1581- Some ( runtime . handle ( ) . clone ( ) ) ,
1585+ Some ( runtime_handle . clone ( ) ) ,
15821586 ) )
15831587 } else {
15841588 log_error ! ( logger, "To act as an HRN resolution service, the DNS resolver must be configured to use a DNS server." ) ;
0 commit comments