<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><HEAD><!-- Template generated by Exclaimer Mail Disclaimers on 11:10:04 Wednesday, 26 March 2014 -->
<STYLE type=text/css>P.468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31 {
MARGIN: 0cm 0cm 0pt
}
LI.468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31 {
MARGIN: 0cm 0cm 0pt
}
DIV.468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31 {
MARGIN: 0cm 0cm 0pt
}
TABLE.468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31Table {
MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
page: Section1
}
</STYLE>
<meta http-equiv=Content-Type content="text/html; charset=utf-8" /><meta name=Generator content="Microsoft Word 15 (filtered medium)" /><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";
mso-fareast-language:EN-GB;}
span.kwd
{mso-style-name:kwd;}
span.pln
{mso-style-name:pln;}
span.lit
{mso-style-name:lit;}
span.pun
{mso-style-name:pun;}
span.str
{mso-style-name:str;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-GB link="#0563C1" vlink="#954F72">
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><div class=WordSection1><p class=MsoNormal>Let’s say I run the following simple script (which also contains an “atexit” func, as I might want to perform some cleanup when the script terminates):-<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">import</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> atexit<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">import</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> time<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">import</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> sys<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"><o:p> </o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:maroon;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">@atexit</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">.register<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">def</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> cleanup():<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> </span><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">print</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> </span><span style="font-size:10.5pt;font-family:Consolas;color:maroon;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">'doing cleanup/termination code'</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"><o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> sys.exit()<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"><o:p> </o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">for</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> i </span><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">in</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> range(</span><span style="font-size:10.5pt;font-family:Consolas;color:maroon;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">100</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">):<o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> </span><span style="font-size:10.5pt;font-family:Consolas;color:darkblue;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">print</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> </span><span style="font-size:10.5pt;font-family:Consolas;color:maroon;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">'doing something'</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"><o:p></o:p></span></p><p class=MsoNormal style=line-height:13.35pt;background:#EEEEEE;vertical-align:baseline><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB"> time.sleep(</span><span style="font-size:10.5pt;font-family:Consolas;color:maroon;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">1</span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm;mso-fareast-language:EN-GB">)</span><span style=font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If I call “_engine.Runtime.Shutdown()” in my C# code, it results in the atexit func getting called and raising a SysExitException in the calling C# code (due to the line “sys.exit()”), but the “for” loop still continues to run to completion.<o:p></o:p></p><p class=MsoNormal>What am I missing? Is it possible to forcibly terminate a running script with IronPython?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31> </P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><span style='font-family:Calibri; font-size:11pt; color: #1F497D; font-weight: bold; '></span><span style='font-family:Calibri; font-size:11pt; color: #1F497D; font-weight: bold; '>Andrew </span><span style='font-family:Calibri; font-size:11pt; color: #1F497D; font-weight: bold; '>Stephens</span></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><span style='font-family:Calibri; font-size:11pt; color: #1F497D; '>Senior Software Engineer</span></P><FONT color=#1f497d size=2>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><span style='font-family:Calibri; font-size:11pt; color: #1F497D; font-weight: bold; '>Nu Instruments Ltd</span></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31> </P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><table class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31Table><tr><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; font-weight: bold; '>Email: </span></td><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; text-decoration: none; '>Andrew.Stephens@nu-ins.com</span></td></tr><tr><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; font-weight: bold; '>Tel: </span></td><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; '>+44 (0) 1978 661304</span></td></tr><tr><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; font-weight: bold; '>Fax: </span></td><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; '>+44 (0) 1978 664301</span></td></tr><tr><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; font-weight: bold; '>Web:</span></td><td><span style='font-family:Calibri; font-size:x-small; color: #1F497D; '><a href='http://www.nu-ins.com' title='' target=''>www.nu-ins.com</a></span></td></tr></table></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31></FONT> </P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><img border=0 width=162 height=26 src='cid:1ebda7.png@eacedfb9.4c908aab' /></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><FONT size=2><FONT face=Calibri><FONT color=#1f497d><B></B></FONT></FONT></FONT> </P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31><FONT size=2><FONT color=#1f497d><FONT face=Calibri><B>Nu Instruments Ltd</B><BR />Unit 74 Clywedog Road South<BR />Wrexham
Industrial Estate<BR />Wrexham LL13 9XS<BR />United Kingdom</FONT></FONT></FONT></P>
<P><B><FONT color=#1f497d size=1 face=Calibri>Disclaimer</FONT></B></P>
<P><FONT color=#1f497d><FONT face=Calibri><FONT size=1>This message is
confidential and may contain privileged information and is protected by
copyright. If you are not the intended recipient you should not copy or disclose
this message to anyone but should kindly notify the sender and delete the
message. Opinions, conclusions and other information in this message which do
not relate to the official business of Nu Instruments Ltd shall be understood as
neither given nor endorsed by it. No contracts shall be concluded by means of
this email. Neither the Company nor the sender accepts any responsibility or
liability for any loss or damage arising from the presence of any computer virus
or similar harmful code contained in this email or attachment/s. It is
your responsibility to scan this email and any attachments. The Company reserves
the right to access and disclose all messages sent over its email
system.<B></B></FONT></FONT></FONT></P>
<P><FONT color=#1f497d size=1 face=Calibri>Nu Instruments Ltd is registered in
England, No.: 3046042. Registered Office: Seacourt Tower, West Way, Oxford OX2
0FB. VAT No.: GB 616 3733 45</FONT></P>
<P class=468bc717-b9fc-4e6a-aa8f-aa1d9c5b5d31></P></FONT></BODY></HTML>