source: tests/concurrency/actors/poison.cfa @ 1db6d70

ast-experimental
Last change on this file since 1db6d70 was 46e6e47, checked in by caparsons <caparson@…>, 19 months ago

refactored test to reflect new naming

  • Property mode set to 100644
File size: 995 bytes
Line 
1#include <actor.hfa>
2#include <fstream.hfa>
3#include <stdlib.hfa>
4#include <string.h>
5#include <stdio.h>
6
7struct Server { int val; inline actor; };
8
9void ?{}( Server & this ) { this.val = 999; }
10void ^?{}( Server & this ) { this.val = 777; }
11
12int main() {
13    sout | "Start";
14
15    sout | "Finished";
16    {
17        start_actor_system();
18        Server s[10];
19        for ( i; 10 ) {
20            s[i] << finished_msg;
21        }
22        stop_actor_system();
23    }
24
25    sout | "Delete";
26    {
27        start_actor_system();
28        for ( i; 10 ) {
29            Server * s = alloc();
30            (*s){};
31            (*s) << delete_msg;
32        }
33        stop_actor_system();
34    }
35
36    sout | "Destroy";
37    {
38        start_actor_system();
39        Server s[10];
40        for ( i; 10 )
41            s[i] << destroy_msg;
42        stop_actor_system();
43        for ( i; 10 )
44            if (s[i].val != 777)
45                sout | "Error: dtor not called correctly.";
46    }
47
48    sout | "Done";
49    return 0;
50}
Note: See TracBrowser for help on using the repository browser.