C C-IngoMolnar-After.litmus
{
}
P0(int *a, int *b, int *c)
{
int r1;
r1 = READ_ONCE(*a);
if (r1)
WRITE_ONCE(*b, 1);
else
WRITE_ONCE(*b, 2);
WRITE_ONCE(*c, 1);
}
P1(int *a, int *c)
{
int r2;
r2 = READ_ONCE(*c);
smp_mb();
WRITE_ONCE(*a, 1);
}
Observed
1:r2=1; 0:r1=1;