Well, there are also some primitive calls that can suspend the current process: * When a process resumes a process of a higher priority than himself * When a new process is created with a higher priority than the current process (a subcase of the one above) * When a process explicitly calls *Processor yield*
On 25 nov 2015, at 5:29 p.m., Ben Coman <btc@openinworld.com> wrote:
I have a general idea of thread pre-emption semantics, but just trying to pin it down for some documentation. I found reference that thread context switches can only happen on: * backward branches * activation of non-primitive sends
but I believe also that context switches can't occur between inlined message send like ifNil:ifNotNil: ? Are there any other I missed?
cheers -ben