Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/concurrency/actors/inline.cfa

    r0388a99 r7edf912  
    33
    44struct d_actor {
    5     inline actor;
     5        inline actor;
    66};
    77struct msg_wrapper {
    8     int b;
    9     inline message;
     8        int b;
     9        inline message;
    1010};
    1111void ^?{}( msg_wrapper & this ) { sout | "msg_wrapper dtor"; }
    1212
    1313struct d_msg {
    14     int m;
    15     inline msg_wrapper;
     14        int m;
     15        inline msg_wrapper;
    1616};
    1717void ?{}( d_msg & this, int m, int b ) { this.m = m; this.b = b; set_allocation( this, Delete ); }
     
    1919
    2020allocation receive( d_actor &, d_msg & msg ) {
    21     sout | msg.m;
    22     sout | msg.b;
    23     return Finished;
     21        sout | msg.m;
     22        sout | msg.b;
     23        return Finished;
    2424}
    2525
    2626struct d_msg2 {
    27     int m;
    28     inline msg_wrapper;
     27        int m;
     28        inline msg_wrapper;
    2929};
    3030void ^?{}( d_msg2 & this ) { sout | "d_msg2 dtor";}
    3131
    3232allocation receive( d_actor &, d_msg2 & msg ) {
    33     sout | msg.m;
    34     return Finished;
     33        sout | msg.m;
     34        return Finished;
    3535}
    3636
    3737int main() {
    38     processor p;
    39     {
    40         start_actor_system();                                // sets up executor
    41         d_actor da;
    42         d_msg * dm = alloc();
    43         (*dm){ 42, 2423 };
    44         da | *dm;
    45         stop_actor_system();                                // waits until actors finish
    46     }
    47     {
    48         start_actor_system();                                // sets up executor
    49         d_actor da;
    50         d_msg2 dm{ 29079 };
    51         set_allocation( dm, Nodelete );
    52         msg_wrapper * mw = &dm;
    53         message * mg = &dm;
    54         virtual_dtor * v = &dm;
    55         da | dm;
    56         stop_actor_system();                                // waits until actors finish
    57     }
     38        processor p;
     39        {
     40                start_actor_system();                                                           // sets up executor
     41                d_actor da;
     42                d_msg * dm = alloc();
     43                (*dm){ 42, 2423 };
     44                da | *dm;
     45                stop_actor_system();                                                            // waits until actors finish
     46        }
     47        {
     48                start_actor_system();                                                           // sets up executor
     49                d_actor da;
     50                d_msg2 dm{ 29079 };
     51                set_allocation( dm, Nodelete );
     52                msg_wrapper * mw = &dm;
     53                message * mg = &dm;
     54                virtual_dtor * v = &dm;
     55                da | dm;
     56                stop_actor_system();                                                            // waits until actors finish
     57        }
    5858}
Note: See TracChangeset for help on using the changeset viewer.