Ignore:
Timestamp:
Oct 26, 2020, 12:17:28 PM (6 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, stuck-waitfor-destruct
Children:
342be43
Parents:
912cc7d7
Message:

Thread Cancellation, a test for it and a required fix to Specialization.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/monitor.cfa

    r912cc7d7 rab8c6a6  
    306306        /* paranoid */ verify( thrd->state == Halted );
    307307        unpark( new_owner );
    308 }
    309 
    310 // Join a thread
    311 forall( dtype T | is_thread(T) )
    312 T & join( T & this ) {
    313         $monitor *    m = get_monitor(this);
    314         void (*dtor)(T& mutex this) = ^?{};
    315         monitor_dtor_guard_t __guard = { &m, (fptr_t)dtor, true };
    316         {
    317                 return this;
    318         }
    319308}
    320309
Note: See TracChangeset for help on using the changeset viewer.