Nov. 14, 2013
9:25 a.m.
On 14 Nov 2013, at 10:15, Stephan Eggermont <stephan@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. Marcus