Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/coroutines

    r77e6fcb r8def349  
    3030};
    3131
    32 #define DECL_COROUTINE(X) static inline coroutine* get_coroutine(X* this) { return &this->c; } void main(X* this)
     32#define DECL_COROUTINE(X) static inline coroutine* get_coroutine(X* this) { return &this->c; } void main(X* this);
    3333
    3434//-----------------------------------------------------------------------------
     
    6565
    6666// Private wrappers for context switch and stack creation
    67 extern void CoroutineCtxSwitch(coroutine * src, coroutine * dst);
     67extern void corCxtSw(coroutine * src, coroutine * dst);
    6868extern void create_stack( coStack_t * this, unsigned int storageSize );
    6969
     
    8181                src->name, src, src->last->name, src->last );
    8282
    83         CoroutineCtxSwitch( src, src->last );
     83        corCxtSw( src, src->last );
    8484}
    8585
     
    107107
    108108      // always done for performance testing
    109         CoroutineCtxSwitch( src, dst );
    110 }
    111 
    112 static inline void resume(coroutine * dst) {
    113         coroutine * src = this_coroutine();             // optimization
    114 
    115       // not resuming self ?
    116         if ( src != dst ) {
    117                 assertf( dst->notHalted ,
    118                         "Attempt by coroutine %.256s (%p) to resume terminated coroutine %.256s (%p).\n"
    119                         "Possible cause is terminated coroutine's main routine has already returned.",
    120                         src->name, src, dst->name, dst );
    121 
    122             // set last resumer
    123                 dst->last = src;
    124         } // if
    125 
    126       // always done for performance testing
    127         CoroutineCtxSwitch( src, dst );
     109        corCxtSw( src, dst );
    128110}
    129111
Note: See TracChangeset for help on using the changeset viewer.