But somehow if I run

[ [true] whileTrue: [ Transcript show: 'asd'; cr.] ] fork.

It gets preempted while it is running, and It does not make any yield...

On Mon, Dec 10, 2012 at 4:17 PM, Bert Freudenberg <bert@freudenbergs.de> wrote:

On 2012-12-10, at 14:22, Guillermo Polito <guillermopolito@gmail.com> wrote:

> Hi!
>
> I was looking at the process machinery in VMMaker and I can't find where the preemption of processes takes place...
>
> Can someone point me a place?

It happens in #transferTo:. This is called whenever a process is resumed because a semaphore got signaled (in which case the process that was waiting on the semaphore is resumed) or if the process stops working because of a wait / yield / suspend call (in which case #wakeHighestPriority determines the next process).

- Bert -

PS: no need to send a mail to both vm-dev and vm-beginners :)

_______________________________________________
VM-beginners mailing list
VM-beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners