<html 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>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<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:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
        {mso-style-priority:1;
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Juan,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m enclosing a version (002) further improving the previous changeset (001), for your review/merge with the following changes:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1) placed "suspendedContext _ nil" assignment as close to the #suspend message as possible</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2) improved readability (I hope) </p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you’re ok with it I’ll refine outdated comments. It passes all Process and Exception tests in both Cuis and Squeak.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for your time and any comments.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNoSpacing"><span lang="CS">--</span></p>
<p class="MsoNoSpacing"><strong><span style="font-family:"Calibri Light",sans-serif;color:#333333;font-weight:normal">Jaromír Matas</span></strong><span style="font-family:"Calibri Light",sans-serif;color:#555555"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><span style="font-family:"Calibri Light",sans-serif;color:#2E75B6">mail@jaromir.net<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#8FAADC"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:juan@cuis.st">Juan Vuletich</a><br>
<b>Sent: </b>Monday, January 30, 2023 20:57<br>
<b>To: </b><a href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis Smalltalk</a><br>
<b>Cc: </b><a href="mailto:mail@jaromir.net">Jaromir Matas</a><br>
<b>Subject: </b>Re: [Cuis-dev] Follow-up: #terminate and #suspend update</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:black">Hi Jaromir,<br>
<br>
Thank you very much for this.<br>
<br>
Unfortunately, I'll be out of town for a few days, and I think it could be a bit risky if I push these changes, and then I'm not available to help address any issues that could occur.<br>
<br>
I promise I'll review and integrate your contributions as usual, when back in town. Thanks for your patience.<br>
<br>
Cheers,<br>
<br>
On 1/30/2023 10:20 AM, Jaromir Matas via Cuis-dev wrote: <o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black">Hi Juan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">I’m enclosing a modified #terminate that would fix the two failing tests, plus some more Semaphore tests further exploring the semantics during unwinds, and a fix of a small bug in #unwindAndStop:. All tested and
 green even in in Squeak :)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Best,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jaromir<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNoSpacing"><span lang="CS" style="color:black">--</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><strong><span style="font-family:"Calibri Light",sans-serif;font-weight:normal">Jaromír Matas</span></strong><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><a href="mailto:mail@jaromir.net">mail@jaromir.net</a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#8FAADC"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:rgb(225,
          225, 225) -moz-use-text-color -moz-use-text-color">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><a href="mailto:juan@cuis.st">Juan Vuletich</a><span style="color:black"><br>
<b>Sent: </b>Tuesday, January 24, 2023 19:49<br>
<b>To: </b></span><a href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis Smalltalk</a><span style="color:black"><br>
<b>Cc: </b></span><a href="mailto:mail@jaromir.net">Jaromir Matas</a><span style="color:black"><br>
<b>Subject: </b>Re: [Cuis-dev] Follow-up: #terminate and #suspend update<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Hi Jaromir,<br>
<br>
Just pushed these to github, together with #expectedFailures.<br>
<br>
Thanks!<br>
<br>
On 1/23/2023 4:30 PM, Jaromir Matas via Cuis-dev wrote: <o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black">Hi Juan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Thanks again. I’m enclosing the two tests I’d like to store for future reference.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">They both illustrate system’s behavior when you attempt to resume or terminate a process that is being terminated and the termination procedure is in a vulnerable early stage: specifically when the terminating
 suspended context/stack is being prepared, before running the “proper” unwind. In this particular situation the termination may derail. The probability of such an event is reasonably low but why not fix it. A possible solution is commented in the tests but
 before integrating it I want to test it thoroughly in Squeak/Pharo as well. The idea is to nil the suspended context during the preparation of the new stack to prevent accidental resumption/termination. Once the “proper” unwind starts it’s ok to terminate
 the terminating process again as demonstrated in # testTerminateTerminatingProcessAfterUnwindStarted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Best,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jaromir<o:p></o:p></span></p>
<p class="MsoNoSpacing"><span lang="CS" style="color:black">--</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><strong><span style="font-family:"Calibri Light",sans-serif;font-weight:normal">Jaromír Matas</span></strong><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><a href="mailto:mail@jaromir.net">mail@jaromir.net</a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#8FAADC"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-color -moz-use-text-color">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><a href="mailto:cuis-dev@lists.cuis.st">Juan Vuletich via Cuis-dev</a><span style="color:black"><br>
<b>Sent: </b>Monday, January 23, 2023 15:25<br>
<b>To: </b></span><a href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis Smalltalk</a><span style="color:black"><br>
<b>Cc: </b></span><a href="mailto:juan@cuis.st">Juan Vuletich</a><span style="color:black">;
</span><a href="mailto:mail@jaromir.net">Jaromir Matas</a><span style="color:black"><br>
<b>Subject: </b>Re: [Cuis-dev] Follow-up: #terminate and #suspend update<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Hi!<br>
<br>
On 1/22/2023 4:29 PM, Jaromir Matas via Cuis-dev wrote: <o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black">Hi again,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Missed the list, sorry.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">As we agree to keep the current isTerminated semantics (also consistent with Squeak/Pharo) I’d suggest to use the test as the documentation of the observed behavior; I’ve added a link to the archive in the comment.<o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span style="color:black"><br>
Just pushed it to github.<br>
<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black"><br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Question: is there a way to make a test an “expected failure” like in Squeak? In Squeak I create a method<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">ProcessTest>>#expectedFailures<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">                ^ #(testTerminateTerminatingProcess testResumeTerminatingProcess)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">As a result the two listed tests show green in the test runner if they fail.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">If possible, I’d like to post two tests that currently fail as a reminder/documentation.
<o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span style="color:black"><br>
Plase post those tests. If nobody beats to me, I'll add expected failure functionality.<br>
<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Jaromir<o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span style="color:black"><br>
Thanks,<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<pre>-- </pre>
<pre>Juan Vuletich</pre>
<pre>cuis.st</pre>
<pre>github.com/jvuletich</pre>
<pre>researchgate.net/profile/Juan-Vuletich</pre>
<pre>independent.academia.edu/JuanVuletich</pre>
<pre>patents.justia.com/inventor/juan-manuel-vuletich</pre>
<pre>linkedin.com/in/juan-vuletich-75611b3</pre>
<pre>twitter.com/JuanVuletich</pre>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span style="color:black"><br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<pre>-- </pre>
<pre>Juan Vuletich</pre>
<pre>cuis.st</pre>
<pre>github.com/jvuletich</pre>
<pre>researchgate.net/profile/Juan-Vuletich</pre>
<pre>independent.academia.edu/JuanVuletich</pre>
<pre>patents.justia.com/inventor/juan-manuel-vuletich</pre>
<pre>linkedin.com/in/juan-vuletich-75611b3</pre>
<pre>twitter.com/JuanVuletich</pre>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span style="color:black"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>-- </pre>
<pre>Juan Vuletich</pre>
<pre>cuis.st</pre>
<pre>github.com/jvuletich</pre>
<pre>researchgate.net/profile/Juan-Vuletich</pre>
<pre>independent.academia.edu/JuanVuletich</pre>
<pre>patents.justia.com/inventor/juan-manuel-vuletich</pre>
<pre>linkedin.com/in/juan-vuletich-75611b3</pre>
<pre>twitter.com/JuanVuletich</pre>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
</div>
</body>
</html>