blob: 3010bbaec46c6b67e3f30feb1afe5d5ad4ee383b [file] [log] [blame]
C MP+poonceonces
(*
* Result: Sometimes
*
* Can the counter-intuitive message-passing outcome be prevented with
* no ordering at all?
*)
{
int buf;
int flag;
}
P0(int *buf, int *flag)
{
WRITE_ONCE(*buf, 1);
WRITE_ONCE(*flag, 1);
}
P1(int *buf, int *flag)
{
int r0;
int r1;
r0 = READ_ONCE(*flag);
r1 = READ_ONCE(*buf);
}
exists (1:r0=1 /\ 1:r1=0)