[squeak-dev] The Trunk: Kernel-jar.1477.mcz
marcel.taeumel at hpi.de
Thu Jun 9 08:28:08 UTC 2022
Aha. And I thought that by "supersede" you mean "move it to treated". Hehe. I was just trying to understand the vocabulary you are using. :-) No worries.
Am 09.06.2022 10:26:23 schrieb Jaromir Matas <mail at jaromir.net>:
Thanks a lot for merging! I’ll send a summary message a bit later…
>> Supersede Kernel-jar.1474.
> If you want to "supersede" a version, please disconnect its ancestry as you did several times before. :-) I kept 1474 here because it was still connected to 1477.
Looks like I don’t know what ‘supersede’ really means :O Apologies; I just wanted to say “forget about Kernel-jar.1474”. Need more education :)
From: Marcel Taeumel [mailto:marcel.taeumel at hpi.de]
Sent: Thursday, June 9, 2022 10:18
To: squeak-dev [mailto:squeak-dev at lists.squeakfoundation.org]
Subject: Re: [squeak-dev] The Trunk: Kernel-jar.1477.mcz
Hi Jaromir --
> Supersede Kernel-jar.1474.
If you want to "supersede" a version, please disconnect its ancestry as you did several times before. :-) I kept 1474 here because it was still connected to 1477.
Am 09.06.2022 10:16:04 schrieb commits at source.squeak.org <commits at source.squeak.org>:
Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
==================== Summary ====================
Time: 8 June 2022, 1:18:13.217988 pm
Setting suspendedContext may ruin your image; add checks to prevent such situations. Add examples and coments documenting disastrous situations.
Updated test will follow later.
=============== Diff against Kernel-jar.1476 ===============
Item was changed:
----- Method: Process>>suspendedContext: (in category 'private') -----
+ suspendedContext: aContextOrNil
+ "Set suspendedContext; proceed with caution when assigning nil or when process priority is undefined."
+ "Note: Assigning nil to a runnable but not active process would freeze the image when self is scheduled to run.
+ Workspace example:
+ These two lines (executed at once, not line by line)
+ p :=  newProcess resume.
+ p suspendedContext: nil
+ will freeze the image; the first line puts p in the run queue, the second line niles p's suspendedContext and
+ when the UI cycles, p tries to run with niled suspendedContext and the image freezes as a result.
+ Assigning 'suspendedContext' before 'priority' is defined may cause a disaster when Process Browser is open
+ with auto-update on; once the 'suspendedContext' is set, the new process is no longer considered terminated
+ and Process Browser will try to place it in its list of processes but encounters a nil error when reading its priority
+ because it has not been set yet.
+ Workspace example:
+ If you run the following line with Process Browser open and auto-update on, you'll ruin your image:
+ p := Process new suspendedContext: [self] asContext
+ Every second a new debugger window pops up and the only way out is to kill the image in the OS.
+ As a precautionary measure set 'priority' if undefined to the active process priority before setting
- suspendedContext: aContext
- "Note: assigning nil to a runnable but not active process would freeze the image when self is scheduled to run."
+ priority ifNil: [priority := Processor activePriority].
+ suspendedContext := aContextOrNil ifNil: [self suspend. nil]!
- suspendedContext := aContext ifNil: [self suspend. nil]!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev