Changeset bebfc2e


Ignore:
Timestamp:
Jun 3, 2023, 9:49:49 AM (11 months ago)
Author:
caparsons <caparson@…>
Branches:
ast-experimental, master
Children:
46e6e47
Parents:
ded6c2a6
Message:

renamed some types to make style consistent. fixed race condition in terminated actor detection

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/actor.hfa

    rded6c2a6 rbebfc2e  
    458458
    459459static inline void deliver_request( request & this ) {
     460    verifyf( this.receiver->ticket != (unsigned long int)MAX, "Attempted to send message to deleted/dead actor\n" );
    460461    this.receiver->allocation_ = this.fn( *this.receiver, *this.msg );
    461462    check_message( *this.msg );
     
    680681// assigned at creation to __base_msg_finished to avoid unused message warning
    681682message __base_msg_finished @= { .allocation_ : Finished };
    682 struct __DeleteMsg { inline message; } DeleteMsg = __base_msg_finished;
    683 struct __DestroyMsg { inline message; } DestroyMsg = __base_msg_finished;
    684 struct __FinishedMsg { inline message; } FinishedMsg = __base_msg_finished;
    685 
    686 Allocation receive( actor & this, __DeleteMsg & msg ) { return Delete; }
    687 Allocation receive( actor & this, __DestroyMsg & msg ) { return Destroy; }
    688 Allocation receive( actor & this, __FinishedMsg & msg ) { return Finished; }
    689 
     683struct __delete_msg_t { inline message; } delete_msg = __base_msg_finished;
     684struct __destroy_msg_t { inline message; } destroy_msg = __base_msg_finished;
     685struct __finished_msg_t { inline message; } finished_msg = __base_msg_finished;
     686
     687Allocation receive( actor & this, __delete_msg_t & msg ) { return Delete; }
     688Allocation receive( actor & this, __destroy_msg_t & msg ) { return Destroy; }
     689Allocation receive( actor & this, __finished_msg_t & msg ) { return Finished; }
     690
Note: See TracChangeset for help on using the changeset viewer.