Am 14.11.2013 um 10:25 schrieb Marcus Denker <marcus.den...@inria.fr>:
> > On 14 Nov 2013, at 10:15, Stephan Eggermont <step...@stack.nl> wrote: > >> Reading this code, made me wonder what operations are actually atomic. >> Anyone having a good explanation? >> >> Stephan >> >> AtomicQueueItem>makeCircular >> "Make a receiver circular, i.e. point to itself, >> answer the old value of next variable. >> Note, this operation should be atomic" >> >> | temp | >> >> " atomic swap here" >> temp := next. >> next := self. >> >> ^ temp >> > -> no message send > -> no back jump bytecode > > therefore it can not be interrupted and process switches can not happen > between the statements. Thanks, I learn something new every day. I’ve never thought about the condition when a process switch can happen. Can you say in short when a switch of processes is checked? Because I think I won’t finding it in a reasonable time looking myself. Norbert