<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Jaromir,<br>
<br>
Thank you for your continued help with this tricky area of the
system!<br>
<br>
I've just integrated your changes. Just a couple of comments:<br>
- Any update to comments is of course welcome. Thanks!<br>
- Not sure why you removed the `push: nil` in #unwindAndStop:, but I
trust you know what you are doing here.<br>
<br>
Cheers,<br>
<br>
On 2/7/2023 5:49 PM, Jaromir Matas via Cuis-dev wrote:
<blockquote
cite="mid:PH7PR12MB7987266A7D35868E2D28EB86EEDB9@PH7PR12MB7987.namprd12.prod.outlook.com"
type="cite">
<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>
<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: rgb(51, 51,
51); font-weight: normal;">Jaromír Matas</span></strong><span
style="font-family: "Calibri Light",sans-serif;
color: rgb(85, 85, 85);"><o:p></o:p></span></p>
<p class="MsoNoSpacing"><span style="font-family: "Calibri
Light",sans-serif; color: rgb(46, 117, 182);"><a class="moz-txt-link-abbreviated" href="mailto:mail@jaromir.net">mail@jaromir.net</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: rgb(143, 170, 220);"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border-right: medium none; border-width: 1pt medium
medium; border-style: solid none none; border-color: rgb(225,
225, 225) -moz-use-text-color -moz-use-text-color; padding:
3pt 0in 0in;">
<p class="MsoNormal" style="border: medium none; padding:
0in;"><b>From: </b><a moz-do-not-send="true"
href="mailto:juan@cuis.st">Juan Vuletich</a><br>
<b>Sent: </b>Monday, January 30, 2023 20:57<br>
<b>To: </b><a moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis
Smalltalk</a><br>
<b>Cc: </b><a moz-do-not-send="true"
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: 5pt; margin-bottom: 5pt;">
<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 style="color: black;" lang="CS">--</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 moz-do-not-send="true"
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: rgb(143, 170, 220);"> </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-right: medium none; border-width: 1pt
medium medium; border-style: solid none none; padding: 3pt
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
moz-do-not-send="true" 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 moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis
Smalltalk</a><span style="color: black;"><br>
<b>Cc: </b></span><a moz-do-not-send="true"
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: 5pt; margin-bottom: 5pt;">
<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 style="color: black;"
lang="CS">--</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 moz-do-not-send="true"
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: rgb(143, 170,
220);"> </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-right: medium none; border-width: 1pt
medium medium; border-style: solid none none; padding: 3pt
0in 0in; border-color: -moz-use-text-color;">
<p class="MsoNormal"><b><span style="color: black;">From:
</span></b><a moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">Discussion of
Cuis Smalltalk</a><span style="color: black;"><br>
<b>Cc: </b></span><a moz-do-not-send="true"
href="mailto:juan@cuis.st">Juan Vuletich</a><span
style="color: black;">;
</span><a moz-do-not-send="true"
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: 5pt; margin-bottom: 5pt;">
<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: 5pt; margin-bottom: 5pt;">
<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: 5pt; margin-bottom: 5pt;">
<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: 10pt;
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: 10pt;
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: 10pt; font-family:
"Courier New"; color: black;"><o:p> </o:p></span></p>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>