I understand generally that an inlined  #ifTrue  is atomic.  For
example, here after the primitive returns, no interruption can occur
before the #ensure is invoked...
    self primitiveWaitAcquire ifTrue:
           [mutuallyExclusiveBlock ensure: [self release]].

But I want to know whether a non-local return could have an impact on
that atomicity. For example ...
    self primitiveWaitAcquire ifTrue:
           [ ^ mutuallyExclusiveBlock ensure: [self release]]

cheers -ben

Reply via email to