BadVPN – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 process main {
2 If (@true) {
3 blocker() blk1;
4 blocker() blk2;
5 Do {
6 blk1->up();
7 blk2->rdownup();
8 } do;
9 assert(blk1);
10 assert(blk2);
11 assert(do.succeeded);
12 };
13  
14 If (@true) {
15 blocker() blk1;
16 blocker() blk2;
17 Do {
18 blk1->rdownup();
19 _do->break();
20 blk2->up();
21 } do;
22 assert(blk1);
23 assert_false(blk2);
24 assert_false(do.succeeded);
25 };
26  
27 If (@true) {
28 blocker() blk1;
29 blocker() blk2;
30 var(@true) flag;
31 backtrack_point() point;
32 If (flag) {
33 Do {
34 blk1->rdownup();
35 flag->set(@false);
36 point->go();
37 blk2->up();
38 };
39 };
40 assert(blk1);
41 assert_false(blk2);
42 };
43  
44 If (@true) {
45 blocker() blk1;
46 var(@true) flag;
47 backtrack_point() point;
48 If (flag) {
49 Do {
50 blk1->rdownup();
51 flag->set(@false);
52 point->rgo();
53 };
54 };
55 assert(blk1);
56 };
57  
58 If (@true) {
59 blocker() blk1;
60 blocker() blk2;
61 Do {
62 backtrack_point() point;
63 _do->rbreak();
64 blk1->up();
65 point->go();
66 blk2->up();
67 } do;
68 assert_false(do.succeeded);
69 assert(blk1);
70 assert_false(blk2);
71 };
72  
73 If (@true) {
74 blocker() blk1;
75 blocker() blk2;
76 blocker() blk3;
77 Do {
78 blk1->up();
79 blk2->rdownup();
80 } Interrupt {
81 blk3->up();
82 } do;
83 assert(blk1);
84 assert(blk2);
85 assert_false(blk3);
86 assert(do.succeeded);
87 };
88  
89 If (@true) {
90 blocker() blk1;
91 blocker() blk2;
92 var(@true) flag;
93 backtrack_point() point;
94 If (flag) {
95 Do {
96 blk1->rdownup();
97 flag->set(@false);
98 point->rgo();
99 } Interrupt {
100 blk2->up();
101 };
102 };
103 assert(blk1);
104 assert_false(blk2);
105 };
106  
107 If (@true) {
108 blocker() blk1;
109 blocker() blk2;
110 blocker() blk3;
111 var(@true) flag;
112 backtrack_point() point;
113 If (flag) {
114 Do {
115 blk1->rdownup();
116 flag->set(@false);
117 point->go();
118 blk2->up();
119 } Interrupt {
120 blk3->rdownup();
121 _do->break();
122 assert(@false);
123 };
124 };
125 assert(blk1);
126 assert_false(blk2);
127 assert(blk3);
128 };
129  
130 If (@true) {
131 blocker() blk1;
132 blocker() blk2;
133 var(@true) flag;
134 backtrack_point() point;
135 If (flag) {
136 Do {
137 blk1->rdownup();
138 flag->set(@false);
139 point->go();
140 assert(blk2);
141 } Interrupt {
142 blk2->rdownup();
143 };
144 };
145 assert(blk1);
146 assert(blk2);
147 };
148  
149 If (@true) {
150 blocker() blk1;
151 blocker() blk2;
152 var(@true) flag;
153 backtrack_point() point;
154 If (flag) {
155 Do {
156 blk1->rdownup();
157 flag->set(@false);
158 point->go();
159 imperative("<none>", {}, @helper1, {}, "1000");
160 assert_false(blk2);
161 } Interrupt {
162 blk2->rdownup();
163 if(@false);
164 };
165 };
166 assert(blk1);
167 assert(blk2);
168 };
169  
170 If (@true) {
171 blocker() blk1;
172 blocker() blk2;
173 var(@true) flag;
174 backtrack_point() point;
175 If (flag) {
176 Do {
177 blk1->rdownup();
178 flag->set(@false);
179 point->go();
180 imperative("<none>", {}, @helper2, {}, "1000");
181 sleep("0", "1");
182 assert_false(blk2);
183 } Interrupt {
184 blk2->rdownup();
185 if(@false);
186 };
187 };
188 assert(blk1);
189 assert(blk2);
190 };
191  
192 exit("0");
193 }
194  
195 template helper1 {
196 assert_false(_caller.blk2);
197 }
198  
199 template helper2 {
200 assert(_caller.blk2);
201 }