source:
tests/concurrency/actors/poison.cfa@
aa14aafe
Last change on this file since aa14aafe was 7edf912, checked in by , 2 years ago | |
---|---|
|
|
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 | |
7 | struct Server { int val; inline actor; }; |
8 | |
9 | void ?{}( Server & this ) { this.val = 999; } |
10 | void ^?{}( Server & this ) { this.val = 777; } |
11 | |
12 | int 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.