source: tests/concurrency/actors/poison.cfa @ e8b5ba4

Last change on this file since e8b5ba4 was 7edf912, checked in by Peter A. Buhr <pabuhr@…>, 14 months ago

formatting, replace constructor calls with set_allocation calls

  • Property mode set to 100644
File size: 796 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}
Note: See TracBrowser for help on using the repository browser.