The compiler may compile this code into TWO write/modify instructions.
worker->flags &= ~WORKER_UNBOUND;
worker->flags |= WORKER_REBIND;
so the other CPU may see the temporary of worker->flags which has
not WORKER_UNBOUND nor WORKER_REBIND, it will wrongly do local
The compiler may compile this code into TWO write/modify instructions.
worker-flags = ~WORKER_UNBOUND;
worker-flags |= WORKER_REBIND;
so the other CPU may see the temporary of worker-flags which has
not WORKER_UNBOUND nor WORKER_REBIND, it will wrongly do local
2 matches
Mail list logo