richardschneider / net-mdns

Simple multicast DNS
MIT License
227 stars 79 forks source link

Shutdown exception #55

Closed richardschneider closed 5 years ago

richardschneider commented 5 years ago

When testing IPFS engine disposing, the following exception is thrown.

11:15:49.334 [ERROR] Makaretu.Dns.MulticastService - Receive handler failed
=======================================================(inner most exception)===
 (1) System.NullReferenceException
================================================================================
Method        :  Send
Type          :  Makaretu.Dns.MulticastService
Assembly      :  Makaretu.Dns.Multicast, Version=0.17.2.0, Culture=neutral, PublicKeyToken=null
Assembly Path :  C:\Users\Owner\Documents\GitHub\net-ipfs-engine\test\bin\Debug\net461\Makaretu.Dns.Multicast.dll
Source        :  Makaretu.Dns.Multicast
Thread        :  15 ''
Helplink      :  

Message:
"Object reference not set to an instance of an object."

Stack Trace:
   at Makaretu.Dns.MulticastService.Send(Message msg, Boolean checkDuplicate)
   at Makaretu.Dns.MulticastService.SendAnswer(Message answer, Boolean checkDuplicate)
   at Makaretu.Dns.ServiceDiscovery.OnQuery(Object sender, MessageEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at Makaretu.Dns.MulticastService.OnDnsMessage(Object sender, UdpReceiveResult result)
================================================================================
richardschneider commented 5 years ago

The client can be disposed when there are messages still queued.