[Vm-dev] primitive 87 resume

Eliot Miranda eliot.miranda at gmail.com
Thu May 20 22:07:35 UTC 2021


Hi Florin,

On Wed, May 19, 2021 at 4:05 PM Florin Mateoc <florin.mateoc at gmail.com>
wrote:

>
> Hi all,
>
> In the method Process>>resume, which invokes primitive 87, the comment
> states that the primitive should fail if the process is already waiting in
> a queue.
> But the implementation does not do that. If we execute (inspect) the
> snippet:
>
> | evaluationProcess result delay testProcess |
> delay := Delay forMilliseconds: 50.
> testProcess := Processor activeProcess.
> evaluationProcess := [
>   delay unschedule.
>   result := testProcess isBlocked.
>   testProcess resume] fork.
> delay wait.
> result
>
> it returns true (and no primitive failed error occurs), which means we
> successfully resumed a blocked (waiting on a semaphore) process.
> I also checked in VMMaker and indeed, the code does not check if the
> process is on a queue or not before just putting it on a runnable list.
>
> What do you think? Should the comment be changed or the implementation?
>

I think the implementation.  Any other opinions?

>
> Florin
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210520/2130400f/attachment.html>


More information about the Vm-dev mailing list