[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