source: CIVL/examples/concurrency/doubleBarrierBad.cvl@ 7ffcb1b

main test-branch
Last change on this file since 7ffcb1b was 7ffcb1b, checked in by Alex Wilton <awilton@…>, 2 years ago

Added dev test demonstrating a POR bug on a minimal example.

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

  • Property mode set to 100644
File size: 449 bytes
Line 
1#include <concurrency.cvh>
2
3$gbarrier gbarrier = $gbarrier_create($here, 2);
4
5typedef struct A {
6 int x;
7} A;
8
9int main() {
10 A a;
11 void foo(int id) {
12 $barrier b = $barrier_create($here, gbarrier, id);
13
14 $barrier_call(b);
15 a.x = id;
16
17 $barrier_call(b);
18 $assert(a.x == 1);
19
20 $barrier_destroy(b);
21 }
22 $proc p0 = $spawn foo(0);
23 $proc p1 = $spawn foo(1);
24
25 $wait(p0);
26 $wait(p1);
27 $gbarrier_destroy(gbarrier);
28}
Note: See TracBrowser for help on using the repository browser.