[squeak-dev] The Trunk: Kernel-jar.1474.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Sun Jun 12 14:19:58 UTC 2022

I'm curious whether this could or should be fixed in the VM. Interrupt still works ... Any thoughts?



Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Donnerstag, 9. Juni 2022 10:15:34
An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: Kernel-jar.1474.mcz

Marcel Taeumel uploaded a new version of Kernel to project The Trunk:

==================== Summary ====================

Name: Kernel-jar.1474
Author: jar
Time: 1 June 2022, 4:40:04.621161 pm
UUID: 5610d4f5-4e77-034a-bdc8-df674ef49b60
Ancestors: Kernel-jar.1473

Fix a bug: assigning suspendedContext := nil to a runnable but not active process would freeze the image when self is awakened. This can easily happen when a process gets preempted between the assignment and the next send.

Try to execute this:
p := [] newProcess resume. "p placed in run queue"
p suspendedContext: nil.  "image freezes"

=============== Diff against Kernel-jar.1473 ===============

Item was changed:
  ----- Method: Process>>suspendedContext: (in category 'private') -----
  suspendedContext: aContext
+        "Note: assigning nil to a runnable but not active process would freeze the image when self is scheduled to run."

+        suspendedContext := aContext ifNil: [self suspend. nil]!
-        suspendedContext := aContext!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220612/ef52a873/attachment.html>

More information about the Squeak-dev mailing list