source: tests/concurrency/actors/poison.cfa @ 8f31be6

Last change on this file since 8f31be6 was 77fd9fe2, checked in by caparsons <caparson@…>, 17 months ago

refactored actor tests to use bar operator

  • Property mode set to 100644
File size: 992 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() {
13    sout | "Start";
14
15    sout | "Finished";
16    {
[1950837]17        start_actor_system();
18        Server s[10];
19        for ( i; 10 ) {
[77fd9fe2]20            s[i] | finished_msg;
[1950837]21        }
22        stop_actor_system();
[858350a]23    }
24
25    sout | "Delete";
26    {
[1950837]27        start_actor_system();
28        for ( i; 10 ) {
29            Server * s = alloc();
30            (*s){};
[77fd9fe2]31            (*s) | delete_msg;
[1950837]32        }
33        stop_actor_system();
[858350a]34    }
35
36    sout | "Destroy";
37    {
[1950837]38        start_actor_system();
39        Server s[10];
40        for ( i; 10 )
[77fd9fe2]41            s[i] | destroy_msg;
[1950837]42        stop_actor_system();
43        for ( i; 10 )
44            if (s[i].val != 777)
45                sout | "Error: dtor not called correctly.";
[858350a]46    }
47
48    sout | "Done";
49    return 0;
50}
Note: See TracBrowser for help on using the repository browser.