source:
CIVL/examples/por/trade3.cvl
| Last change on this file was ea777aa, checked in by , 3 years ago | |
|---|---|
|
|
| File size: 270 bytes | |
| Rev | Line | |
|---|---|---|
| [b15374a] | 1 | |
| 2 | int x=0; | |
| 3 | ||
| 4 | void p1() { | |
| 5 | $atomic { | |
| 6 | x=1; | |
| [a3da6fb] | 7 | $yield(); |
| [b15374a] | 8 | $when(x==2); |
| 9 | x=3; | |
| 10 | } | |
| 11 | } | |
| 12 | ||
| 13 | void p2() { | |
| 14 | $when(x==1); | |
| 15 | x=2; | |
| 16 | x=4; | |
| 17 | } | |
| 18 | ||
| 19 | void main() { | |
| 20 | $proc proc1 = $spawn p1(); | |
| 21 | $proc proc2 = $spawn p2(); | |
| 22 | ||
| 23 | $wait(proc1); | |
| 24 | $wait(proc2); | |
| [3ff27cf] | 25 | $assert((x==3)); // false |
| [b15374a] | 26 | } |
Note:
See TracBrowser
for help on using the repository browser.
