Changeset 7edf912 for tests/concurrency/actors/static.cfa
- Timestamp:
- Sep 17, 2023, 10:17:50 PM (13 months ago)
- Branches:
- master
- Children:
- a2c2363
- Parents:
- 50be8af
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/concurrency/actors/static.cfa
r50be8af r7edf912 9 9 struct derived_actor { inline actor; }; 10 10 struct derived_msg { 11 12 11 inline message; 12 int cnt; 13 13 }; 14 14 15 15 void ?{}( derived_msg & this, int cnt ) { 16 ((message &) this){ Nodelete };17 16 set_allocation( this, Nodelete ); 17 this.cnt = cnt; 18 18 } 19 19 void ?{}( derived_msg & this ) { ((derived_msg &)this){ 0 }; } 20 20 21 21 allocation receive( derived_actor & receiver, derived_msg & msg ) { 22 23 24 25 26 27 28 22 if ( msg.cnt >= Times ) { 23 sout | "Done"; 24 return Finished; 25 } 26 msg.cnt++; 27 receiver | msg; 28 return Nodelete; 29 29 } 30 30 31 31 int main( int argc, char * argv[] ) { 32 32 switch ( argc ) { 33 33 case 2: 34 34 if ( strcmp( argv[1], "d" ) != 0 ) { // default ? … … 42 42 } // switch 43 43 44 44 sout | "starting"; 45 45 46 47 46 executor e{ 0, 1, 1, false }; 47 start_actor_system( e ); 48 48 49 49 sout | "started"; 50 50 51 51 derived_msg msg; 52 52 53 53 derived_actor actor; 54 54 55 55 actor | msg; 56 56 57 57 sout | "stopping"; 58 58 59 59 stop_actor_system(); 60 60 61 sout | "stopped"; 62 63 return 0; 61 sout | "stopped"; 64 62 }
Note: See TracChangeset
for help on using the changeset viewer.