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

Last change on this file since ecaedf35 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
RevLine 
[858350a]1#include <actor.hfa>
2#include <fstream.hfa>
3#include <stdlib.hfa>
4#include <string.h>
5#include <stdio.h>
6
[1950837]7struct Server { int val; inline actor; };
8
9void ?{}( Server & this ) { this.val = 999; }
10void ^?{}( Server & this ) { this.val = 777; }
[858350a]11
12int main() {
[7edf912]13        sout | "Start";
[858350a]14
[7edf912]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        }
[858350a]24
[7edf912]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        }
[858350a]35
[7edf912]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        }
[858350a]47
[7edf912]48        sout | "Done";
49}
Note: See TracBrowser for help on using the repository browser.