Ignore:
File:
1 edited

Legend:

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

    r7edf912 r77fd9fe2  
    99struct derived_actor { inline actor; };
    1010struct derived_msg {
    11         inline message;
    12         int cnt;
     11    inline message;
     12    int cnt;
    1313};
    1414
    1515void ?{}( derived_msg & this, int cnt ) {
    16         set_allocation( this, Nodelete );
    17         this.cnt = cnt;
     16    ((message &) this){ Nodelete };
     17    this.cnt = cnt;
    1818}
    1919void ?{}( derived_msg & this ) { ((derived_msg &)this){ 0 }; }
    2020
    2121allocation receive( derived_actor & receiver, derived_msg & msg ) {
    22         if ( msg.cnt >= Times ) {
    23                 sout | "Done";
    24                 return Finished;
    25         }
    26         msg.cnt++;
    27         receiver | msg;
    28         return Nodelete;
     22    if ( msg.cnt >= Times ) {
     23        sout | "Done";
     24        return Finished;
     25    }
     26    msg.cnt++;
     27    receiver | msg;
     28    return Nodelete;
    2929}
    3030
    3131int main( int argc, char * argv[] ) {
    32         switch ( argc ) {
     32    switch ( argc ) {
    3333          case 2:
    3434                if ( strcmp( argv[1], "d" ) != 0 ) {                    // default ?
    35                         Times = ato( argv[1] );
    36                         if ( Times < 1 ) fallthru default;
     35                        Times = atoi( argv[1] );
     36                        if ( Times < 1 ) goto Usage;
    3737                } // if
    3838          case 1:                                                                                       // use defaults
    3939                break;
    4040          default:
    41                 exit | "Usage: " | argv[0] | " [ times (> 0) ]";
     41          Usage:
     42                sout | "Usage: " | argv[0] | " [ times (> 0) ]";
     43                exit( EXIT_FAILURE );
    4244        } // switch
    4345
    44         sout | "starting";
     46    printf("starting\n");
    4547
    46         executor e{ 0, 1, 1, false };
    47         start_actor_system( e );
     48    executor e{ 0, 1, 1, false };
     49    start_actor_system( e );
    4850
    49         sout | "started";
     51    printf("started\n");
    5052
    51         derived_msg msg;
     53    derived_msg msg;
    5254
    53         derived_actor actor;
     55    derived_actor actor;
    5456
    55         actor | msg;
     57    actor | msg;
    5658
    57         sout | "stopping";
     59    printf("stopping\n");
    5860
    59         stop_actor_system();
     61    stop_actor_system();
    6062
    61         sout | "stopped";
     63    printf("stopped\n");
     64
     65    return 0;
    6266}
Note: See TracChangeset for help on using the changeset viewer.