[Vm-dev] (no subject)

Florin Mateoc florin.mateoc at gmail.com
Thu May 20 00:01:57 UTC 2021


thinking some more about it, I think the implementation should respect the
comment.
Clearly, as it is, we can put the same process on multiple lists, which
seems very wrong. Also, a process that stopped executing by waiting on a
semaphore has started executing again without the semaphore being
signalled, and with the process still on the semaphore's list.

| evaluationProcess result sema testProcess |
sema := Semaphore new.
testProcess := Processor activeProcess.
result := OrderedCollection new.
evaluationProcess := [
   result add: testProcess isBlocked.
   testProcess resume.
   result add: testProcess isBlocked.
   result add: (sema includes: testProcess).
] fork.
sema wait.
result
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210519/44ad1888/attachment.html>


More information about the Vm-dev mailing list