[squeak-dev] Solving multiple termination bugs - summary & proposal

Jaromir Matas m at jaromir.net
Wed May 12 21:39:56 UTC 2021


Hi Christoph & all,

One more update:


Christoph Thiede wrote
> 3.1 Consider the following snippet:
> 
> | p |
> p := Processor activeProcess.
> Transcript showln: p == Processor activeProcess.
> [Transcript showln: p == Processor activeProcess] ensure: [
>         Transcript showln: p == Processor activeProcess].
> p
> 
> Debug it, then step into the first block, and abandon the debugger. We
> would
> expect to see another "true" in the Transcript, but instead, we see a
> "false". This is because #runUntilErrorOrReturnFrom: does not honor
> process-faithful debugging. The protocol on Process, on the other hand,
> does
> so. So probably we would want to wrap these sends into
> #evaluate:onBehalfOf:.

Yes, you were right, wrapping #runUntilErrorOrReturnFrom: into
#evaluate:onBehalfOf: works well and your example now returns true as
expected. Thanks very much! Here's a changeset:  Fix_terminate_v7.cs
<http://forum.world.st/file/t372955/Fix_terminate_v7.cs>  

A new version in the Inbox is:
http://forum.world.st/The-Inbox-Kernel-jar-1406-mcz-td5129657.html 

best,



-----
^[^ Jaromir
--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html


More information about the Squeak-dev mailing list