Messages in this thread | | | Subject | memory barrier question | From | Miklos Szeredi <> | Date | Wed, 15 Sep 2010 16:36:39 +0200 |
| |
Hi,
I'm trying to understand memory barriers but not quite succeeding.
Consider the following example:
Start: p = NULL; x = 0;
CPU1: atomic_inc(&x); p = &x;
CPU2: if (p) z = atomic_read(p);
Is it possible to end up with z == 0? What if there's a lock/unlock before setting "p"? What if there's a write barrier before setting "p"?
Thanks, Miklos
| |