source: tests/concurrent/waitfor/else.c @ 73abe95

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprno_listpersistent-indexerpthread-emulationqualifiedEnum
Last change on this file since 73abe95 was 73abe95, checked in by Thierry Delisle <tdelisle@…>, 6 years ago

Replace extension-less headers with .hfa

  • Property mode set to 100644
File size: 778 bytes
Line 
1#include <fstream.hfa>
2#include <monitor.hfa>
3
4#include <stdbool.h>
5
6monitor M {};
7
8void notcalled( M & mutex m ) {
9        abort();
10}
11
12void test( M & mutex m ) {
13        int i = 0;
14        sout | "Starting" | endl;
15
16        when( false ) waitfor( notcalled, m );
17
18        sout | "Step" | i++ | endl;
19
20        waitfor( notcalled, m ); or else {
21                sout | "else called" | endl;
22        }
23
24        sout | "Step" | i++ | endl;
25
26        when( true ) waitfor( notcalled, m ); or when( true ) else {
27                sout | "else called" | endl;
28        }
29
30        sout | "Step" | i++ | endl;
31
32        when( false ) waitfor( notcalled, m ); or when( true ) else {
33                sout | "else called" | endl;
34        }
35
36        sout | "Step" | i++ | endl;
37
38        when( false ) waitfor( notcalled, m ); or when( false ) else {
39                sout | "else called" | endl;
40        }
41
42        sout | "Done" | endl;
43}
44
45int main() {
46        M m;
47        test(m);
48}
Note: See TracBrowser for help on using the repository browser.