| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- process main {
- var("hello") x;
- provide("A");
- depend("A") d;
- val_equal(d.x, "hello") a;
- assert(a);
- d.x->set("world");
- val_equal(d.x, "world") a;
- assert(a);
- var("hello") x;
- provide("B");
- val_equal(x, "world") a;
- assert(a);
- var("hello") x;
- provide("C");
- val_equal(x, "hello") a;
- assert(a);
- depend("C_done");
- val_equal(x, "world") a;
- assert(a);
- var("hello") x;
- blocker() blk;
- provide("D");
- val_equal(x, "hello") a;
- assert(a);
- blk->up();
- val_equal(x, "0") a;
- assert(a);
- blk->down();
- blk->up();
- val_equal(x, "1") a;
- assert(a);
- exit("0");
- }
- process proc1 {
- depend("B") dep;
- dep.x->set("world");
- }
- process proc2 {
- depend("C") dep;
- sleep("0", "0");
- dep.x->set("world");
- provide("C_done");
- }
- process proc3 {
- depend("D") dep;
- dep.blk->use();
- provide("E");
- }
- process proc4 {
- var("0") i;
- depend("E") dep;
- dep.dep.x->set(i);
- num_add(i, "1") j;
- i->set(j);
- }
|