Hi Martin,<br><br><br><div class="gmail_quote">On Thu, Mar 4, 2010 at 2:23 PM, Martin Baulig <span dir="ltr">&lt;<a href="mailto:martin@ximian.com">martin@ximian.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ok, I just reverted that revision in trunk and 2.6.<br>
<br>
Ironically, this code now does exactly the right thing when running<br>
inside a debugger,<br>
but not when running stand-alone.<br>
<br>
We should consider this a new feature - Thread.Abort() must not abort<br>
any .cctors<br>
unless explicitly requested by a debugger.  I&#39;ll have a look at this<br>
next week, once I&#39;m<br>
done with my Soft Debugger preview version.<br>
<font color="#888888"><br></font></blockquote><div><br>Routing Thread::Abort() around is not the behavior I can observe on MS. Do you have<br>any test or documentation that shows this behavior? Even if this looks like the wrong<br>
thing, we should follow MS behavior as compatibility is one of our major goal.<br><br>What we could do, thou, is to have this behavior as something our debuggers can use.<br><br>We really need a well defined behavior for debugger initiated thread aborts because I&#39;m<br>
soon going to implement proper finally block interruption[1]. This can cause regressions<br>on our debuggers if we don&#39;t make clear want everyone needs from the runtime.<br><br><br>Rodrigo<br><br><br>[1] Under MS, a Thread::Abort is routed around finally blocks.<br>
</div></div>