Files
@ b747c570a11c
Branch filter:
Location: CSY/reowolf/testdata/parser/positive/15.pdl - annotation
b747c570a11c
421 B
text/plain
nested rw locks
1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 | #version
import std.reo;
composite main(out c) {
channel ao -> ai;
channel bo -> bi;
channel axo -> axi;
channel zo -> zi;
new sync(ai, bo);
new replicator(bi, {axo, c});
new consensus({axi, zi}, ao);
new generator(zo);
}
primitive generator(out z) {
while (true) {
synchronous (msg x) {
if (x == null) {
put(z, x);
assert !fires(x);
} else {
put(z, x);
assert fires(x);
}
}
}
}
|