Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/thread

    rcb0e6de r348006f  
    2222
    2323#include "coroutine"
    24 #include "monitor"
    2524
    2625//-----------------------------------------------------------------------------
     
    2928// Anything that is resumed is a coroutine.
    3029trait is_thread(dtype T) {
    31       void ^?{}(T* mutex this);
    3230      void main(T* this);
    3331      thread_desc* get_thread(T* this);
    3432};
    3533
    36 #define DECL_THREAD(X) thread_desc* get_thread(X* this) { return &this->__thrd; } void main(X* this)
     34#define DECL_THREAD(X) thread_desc* get_thread(X* this) { return &this->t; } void main(X* this)
    3735
    3836forall( dtype T | is_thread(T) )
    3937static inline coroutine_desc* get_coroutine(T* this) {
    40         return &get_thread(this)->cor;
     38        return &get_thread(this)->c;
    4139}
    4240
    43 forall( dtype T | is_thread(T) )
    44 static inline monitor_desc* get_monitor(T * this) {
    45         return &get_thread(this)->mon;
    46 }
    47 
    48 static inline coroutine_desc* get_coroutine(thread_desc * this) {
    49         return &this->cor;
    50 }
    51 
    52 static inline monitor_desc* get_monitor(thread_desc * this) {
    53         return &this->mon;
     41static inline coroutine_desc* get_coroutine(thread_desc* this) {
     42        return &this->c;
    5443}
    5544
     
    7564void ?{}( scoped(T)* this, P params );
    7665
    77 forall( dtype T | sized(T) | is_thread(T) )
     66forall( dtype T | sized(T) | is_thread(T) | { void ^?{}(T*); } )
    7867void ^?{}( scoped(T)* this );
    7968
Note: See TracChangeset for help on using the changeset viewer.