[Mono-dev] Socket has a dynamic GetHashCode method
Robert Jordan
robertj at gmx.net
Mon Aug 13 18:16:44 EDT 2007
David Wolinsky wrote:
> Socket relies on the underlying operating system handle for its
> HashCode, this creates a problem if later after the underlying resource
> has been disposed but the Socket object is still in use....
>
> For example...
>
> Hashtable ht = new Hashtable();
> Socket s = new Socket(...);
> ht[s] = 5;
> Console.WriteLine(ht.Contains(s)); // true
> s.Close();
> Console.WriteLine(ht.Contains(s)); // false
>
> Is this a bug or an expected result?
This is expected under .NET 1.1. Under .NET 2.0, MS has removed
the overloaded GetHashCode, like in the attached patch.
Robert
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Socket.diff
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20070814/dbfa496e/attachment.pl
More information about the Mono-devel-list
mailing list