<p>Aren&#39;t event handler methods emitted with a [synchronized] attribute by default which would prevent this issue? You can check by disassembling the IL and seeing if its there. </p>
<p>Alan</p>
<p>On 4 Apr 2011 14:55,  &lt;<a href="mailto:kralu@poczta.onet.pl">kralu@poczta.onet.pl</a>&gt; wrote:<br type="attribution">&gt; W dniu 2011-03-30 22:07:45 u┼╝ytkownik Miguel de Icaza &lt;<a href="mailto:miguel@novell.com">miguel@novell.com</a>&gt; napisa┼é:<br>
&gt; <br>&gt;&gt; While another one is doing an equality test, the state is half-built.<br>&gt;&gt; The way you could instrument this is to rewrite that routine to not be<br>&gt;&gt; recursive, but instead to be iterative, and have a maximum count,<br>
&gt;&gt; something like:<br>&gt;&gt; <br>&gt;&gt;         MulticastDelegate track_this = this;<br>&gt;&gt;         MulticastDelegate track_other = d;<br>&gt;&gt; <br>&gt;&gt;         for (int i = 0; i &lt; 10000; i++){<br>&gt;&gt;                 object this_prev = track_this.prev;<br>
&gt;&gt;                 object other_prev = d.prev;<br>&gt;&gt; <br>&gt;&gt;                 if (this_prev != other_prev)<br>&gt;&gt;                         return false;<br>&gt;&gt;         }<br>&gt;&gt;         if (i == 10000)<br>&gt;&gt;                 Console.WriteLine (&quot;The corrupted instance is {0}&quot;, this.GetType ());<br>
&gt;&gt; <br>&gt;&gt;         return true;<br>&gt;  <br>&gt; Thanks for your reply. I&#39;m not sure but it seems that your snippet will put a text on a screen always when the delegates are equal. Anyway, I&#39;ve rewrote that routine as you suggested and here&#39;s the result: <a href="http://monobin.com/__mb1963e9">http://monobin.com/__mb1963e9</a> <br>
&gt; <br>&gt; I&#39;ve also just added a lines like below to the end of original equals method. <br>&gt; <br>&gt;          if (this == this.prev)<br>&gt;                  Console.WriteLine (&quot;The corrupted instance is {0}&quot;, this.GetType ());<br>
&gt;         return this.prev.Equals(d.prev);<br>&gt; <br>&gt; ...and I&#39;m waiting for a crush. <br>&gt; I&#39;d appreciate any other hints or advices. Thanks in advance.<br>&gt; Best regards, <br>&gt; Marcin <br>&gt; <br>
&gt; _______________________________________________<br>&gt; Mono-devel-list mailing list<br>&gt; <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>&gt; <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</p>