- File:
-
- 1 edited
-
libcfa/src/concurrency/thread.hfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/thread.hfa
r5456537 rfd54fef 32 32 }; 33 33 34 EHM_FORALL_EXCEPTION(ThreadCancelled, (thread_t &), (thread_t)) (34 FORALL_DATA_EXCEPTION(ThreadCancelled, (thread_t &), (thread_t)) ( 35 35 thread_t * the_thread; 36 36 exception_t * the_exception; … … 42 42 forall(T &) 43 43 const char * msg(ThreadCancelled(T) *); 44 45 // define that satisfies the trait without using the thread keyword 46 #define DECL_THREAD(X) $thread* get_thread(X& this) __attribute__((const)) { return &this.__thrd; } void main(X& this) 44 47 45 48 // Inline getters for threads/coroutines/monitors … … 79 82 }; 80 83 81 forall( T & | is_thread(T) | IS_EXCEPTION(ThreadCancelled, (T)) 82 | { EHM_DEFAULT_VTABLE(ThreadCancelled, (T)); }) 84 forall( T & | is_thread(T) | IS_EXCEPTION(ThreadCancelled, (T)) ) 83 85 void ?{}( thread_dtor_guard_t & this, T & thrd, void(*)(ThreadCancelled(T) &) ); 84 86 void ^?{}( thread_dtor_guard_t & this ); … … 126 128 //---------- 127 129 // join 128 forall( T & | is_thread(T) | IS_RESUMPTION_EXCEPTION(ThreadCancelled, (T)) 129 | { EHM_DEFAULT_VTABLE(ThreadCancelled, (T)); }) 130 forall( T & | is_thread(T) | IS_RESUMPTION_EXCEPTION(ThreadCancelled, (T)) ) 130 131 T & join( T & this ); 131 132
Note:
See TracChangeset
for help on using the changeset viewer.