Ignore:
Timestamp:
Apr 23, 2021, 4:26:52 PM (3 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
50f6afb
Parents:
aaf92de
Message:

SomeThreadCancelled? -> ThreadCancelled?: thread cancellations carry type information again.

File:
1 edited

Legend:

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

    raaf92de r8edbe40  
    3131        $thread* get_thread(T& this);
    3232};
    33 
    34 EHM_EXCEPTION(SomeThreadCancelled) (
    35         void * the_thread;
    36         exception_t * the_exception;
    37 );
    38 
    39 EHM_EXTERN_VTABLE(SomeThreadCancelled, std_thread_cancelled);
    4033
    4134EHM_FORALL_EXCEPTION(ThreadCancelled, (thread_t &), (thread_t)) (
     
    8679};
    8780
    88 forall( T & | is_thread(T) | IS_EXCEPTION(SomeThreadCancelled) )
    89 void ?{}( thread_dtor_guard_t & this, T & thrd, void(*)(SomeThreadCancelled &) );
     81forall( T & | is_thread(T) | IS_EXCEPTION(ThreadCancelled, (T))
     82    | { _EHM_VTABLE_TYPE(ThreadCancelled)(T) & const _default_vtable; } )
     83void ?{}( thread_dtor_guard_t & this, T & thrd, void(*)(ThreadCancelled(T) &) );
    9084void ^?{}( thread_dtor_guard_t & this );
    9185
     
    132126//----------
    133127// join
    134 forall( T & | is_thread(T) | IS_RESUMPTION_EXCEPTION(SomeThreadCancelled) )
     128forall( T & | is_thread(T) | IS_RESUMPTION_EXCEPTION(ThreadCancelled, (T))
     129    | { _EHM_VTABLE_TYPE(ThreadCancelled)(T) & const _default_vtable; } )
    135130T & join( T & this );
    136131
Note: See TracChangeset for help on using the changeset viewer.