[Mono-list] RFC: Corlib Unit Test on Linux How-To

Cristian Diaconu diaconu@optonline.net
Tue, 30 Apr 2002 23:45:20 -0400


This is a multi-part message in MIME format.

--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7BIT

>>>>>>>>>>>>>>>>
I'm not sure why they chose to do this, but it does look intentional. My
only guess so far is that they wanted to allow developers the
opportunity to inspect the program's state with a debugger before any of
the finally blocks ran.
<<<<<<<<<<<<<<<<

That, and the fact that having a "two-pass" stack walk matches Windows' SEH better than the single pass you suggest with finally clauses invoked as you go. In fact, I'm not even sure how the single pass would work in Mono in the presence of user-filtered handlers. (The way I read the specification, user-filtered handlers must run before any finally block is being run. Moreover, in a future release they seem to intend to support EXCEPTION_CONTINUE_EXECUTION returned from filters which would *require* the stack to be intact.)

My 2c anyway

Cristian



--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: 7BIT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2715.400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial 
size=2>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;</FONT></DIV>
<DIV>I'm not sure why they chose to do this, but it does look intentional. 
My<BR>only guess so far is that they wanted to allow developers 
the<BR>opportunity to inspect the program's state with a debugger before any 
of<BR>the finally blocks ran.<BR><FONT face=Arial 
size=2>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>That, and the fact that having a "two-pass" stack 
walk matches Windows' SEH better than the single pass you suggest with finally 
clauses invoked as you go. In fact, I'm not even sure how the single pass would 
work in Mono in the presence of&nbsp;user-filtered handlers. (The way I read the 
specification, <SPAN class=Bold><SPAN 
style="FONT-WEIGHT: normal; FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-bidi-font-weight: bold">user-filtered 
handlers must <FONT face=Arial size=2>run before any finally block is being run. 
Moreover, in a future release they seem to intend to support <FONT 
size=2>EXCEPTION_CONTINUE_EXECUTION returned from filters which would *require* 
the stack to be intact.</FONT></FONT></SPAN></SPAN>)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>My 2c anyway</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Cristian</FONT></DIV>
<DIV><BR></DIV></BODY></HTML>

--Boundary_(ID_0NIxmnD8BgQtH4Kxm2T+Wg)--