Ignore:
File:
1 edited

Legend:

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

    r77fd9fe2 r7edf912  
    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     ((message &) this){ Nodelete };
    17     this.cnt = cnt;
     16        set_allocation( 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 = atoi( argv[1] );
    36                         if ( Times < 1 ) goto Usage;
     35                        Times = ato( argv[1] );
     36                        if ( Times < 1 ) fallthru default;
    3737                } // if
    3838          case 1:                                                                                       // use defaults
    3939                break;
    4040          default:
    41           Usage:
    42                 sout | "Usage: " | argv[0] | " [ times (> 0) ]";
    43                 exit( EXIT_FAILURE );
     41                exit | "Usage: " | argv[0] | " [ times (> 0) ]";
    4442        } // switch
    4543
    46     printf("starting\n");
     44        sout | "starting";
    4745
    48     executor e{ 0, 1, 1, false };
    49     start_actor_system( e );
     46        executor e{ 0, 1, 1, false };
     47        start_actor_system( e );
    5048
    51     printf("started\n");
     49        sout | "started";
    5250
    53     derived_msg msg;
     51        derived_msg msg;
    5452
    55     derived_actor actor;
     53        derived_actor actor;
    5654
    57     actor | msg;
     55        actor | msg;
    5856
    59     printf("stopping\n");
     57        sout | "stopping";
    6058
    61     stop_actor_system();
     59        stop_actor_system();
    6260
    63     printf("stopped\n");
    64 
    65     return 0;
     61        sout | "stopped";
    6662}
Note: See TracChangeset for help on using the changeset viewer.