source: CIVL/examples/contracts/update2.cvl@ d1cfebe

1.23 2.0 main test-branch
Last change on this file since d1cfebe was 5a2d5b1, checked in by Manchun Zheng <zmanchun@…>, 10 years ago

added test update2()

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@3524 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 793 bytes
Line 
1#include<collate.cvh>
2
3$gcollator gcollator=$gcollator_create($here, 2);
4_Bool start=$false;//, done=$false;
5int state[2]={[0]=0, [1]=0};
6
7void updating(int a, int b, int i){
8 int v=$pow(a,b);
9
10 state[i]=v;
11}
12
13
14void proc1(){
15 $collator collator=$collator_create(gcollator, $here, 0);
16
17 $collate_state cs=$collate_arrives(collator, $here);
18 start=$true;
19 $collate_departs(collator);
20 $free(collator);
21}
22
23void proc2(){
24 $collator collator=$collator_create(gcollator, $here, 1);
25
26 $when(start);
27 $update(collator) updating(5, 6, 1);
28 $update(collator) $pow(3, 4);
29 $collate_arrives(collator, $here);
30 $collate_departs(collator);
31 $free(collator);
32}
33
34int main(){
35 $proc p[2];
36
37 $atomic{
38 p[0]=$spawn proc1();
39 p[1]=$spawn proc2();
40 }
41 $waitall(p, 2);
42 $free(gcollator);
43}
Note: See TracBrowser for help on using the repository browser.