[Cuis-dev] FW: FW: Freezing UI - can't interrupt via Alt+.

Jaromir Matas mail at jaromir.net
Sat Jul 9 13:58:47 PDT 2022


Hi Juan,

> But I don't think this problem grants adding a class variable to SystemDictionary. I just pushed an update that calls #valueUnpreemptively instead.

Fair point about the class variable; I felt the same but wanted to demonstrate some solution; unfortunately #valueUnpreemptively didn’t occur to me, thanks! It works fine indeed.

I can see you solved the highestPriority + 1 issue in #priority: … nice :) So no need to fix #terminate now, thanks.

I’m working on an updated version of #terminate with a few improvements; one of them is the ‘active+1’ priority is replaced with a semaphore to achieve full synchronization between the process invoking the termination and the process being terminated. I’ll send the final version after testing it properly; fixing this LowSpaceWatcher issue was one of the prerequisites; many thanks for your quick response!

Best,
Jaromir

--

Jaromír Matas

mail at jaromir.net

From: Juan Vuletich<mailto:JuanVuletich at zoho.com>
Sent: Saturday, July 9, 2022 21:57
To: Discussion of Cuis Smalltalk<mailto:cuis-dev at lists.cuis.st>
Cc: Juan Vuletich<mailto:JuanVuletich at zoho.com>; Jaromir Matas<mailto:mail at jaromir.net>
Subject: Re: [Cuis-dev] FW: FW: Freezing UI - can't interrupt via Alt+.

Hi Jaromir,

You are right, and your code is safer.

But I don't think this problem grants adding a class variable to SystemDictionary. I just pushed an update that calls #valueUnpreemptively instead.

Thanks,

On 7/9/2022 8:17 AM, Jaromir Matas via Cuis-dev wrote:
Hi Juan,

I’ve stumbled upon this irregularity:

If you run this in the Workspace…

[Smalltalk installLowSpaceWatcher] fork.
[Smalltalk installLowSpaceWatcher] fork

… the system ends up with two processes running the #lowSpaceWatcher method; the root cause is #installLowSpaceWatcher runs unprotected against multiple concurrent invocations.

I’d suggest running the # installLowSpaceWatcher’s code as the Semaphore >> #critical section: see attached changeset with a more detailed description in the method comment. Please feel free to modify in any way :)

Thanks for your opinion,
Jaromir


--

Jaromír Matas

mail at jaromir.net<mailto:mail at jaromir.net>




--

Juan Vuletich

www.cuis-smalltalk.org<http://www.cuis-smalltalk.org>

https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev

https://github.com/jvuletich

https://www.linkedin.com/in/juan-vuletich-75611b3

https://independent.academia.edu/JuanVuletich

https://www.researchgate.net/profile/Juan-Vuletich

https://patents.justia.com/inventor/juan-manuel-vuletich

https://twitter.com/JuanVuletich

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20220709/d49f73a5/attachment.htm>


More information about the Cuis-dev mailing list