Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/invoke.c

    rc84e80a r596f987b  
    1414
    1515extern void __suspend_no_inline__F___1(void);
    16 extern void __scheduler_remove__F_P9sthread_h__1(struct thread_h*);
    1716
    1817void CtxInvokeCoroutine(
     
    2120      void *this
    2221) {
    23       // LIB_DEBUG_PRINTF("Invoke Coroutine : Received %p (main %p, get_c %p)\n", this, main, get_coroutine);
     22      LIB_DEBUG_PRINTF("Invoke : Received %p (main %p, get_c %p)\n", this, main, get_coroutine);
    2423
    2524      struct coroutine* cor = get_coroutine( this );
     
    3231
    3332      main( this );
    34 
    35       //Final suspend, should never return
    36       __suspend_no_inline__F___1();
    37       assertf(false, "Resumed dead coroutine");
    38 }
    39 
    40 void CtxInvokeThread(
    41       void (*main)(void *),
    42       struct thread_h *(*get_thread)(void *),
    43       void *this
    44 ) {
    45       // LIB_DEBUG_PRINTF("Invoke Thread : Received %p (main %p, get_t %p)\n", this, main, get_thread);
    46 
    47       __suspend_no_inline__F___1();
    48 
    49       struct thread_h* thrd = get_thread( this );
    50       struct coroutine* cor = &thrd->c;
    51       cor->state = Active;
    52 
    53       // LIB_DEBUG_PRINTF("Invoke Thread : invoking main %p (args %p)\n", main, this);
    54       main( this );
    55 
    56       __scheduler_remove__F_P9sthread_h__1(thrd);
    57 
    58       //Final suspend, should never return
    59       __suspend_no_inline__F___1();
    60       assertf(false, "Resumed dead thread");
    6133}
    6234
     
    6840      void (*invoke)(void *)
    6941) {
    70       // LIB_DEBUG_PRINTF("StartCoroutine : Passing in %p (main %p) to invoke (%p) from start (%p)\n", this, main, invoke, CtxStart);
     42      LIB_DEBUG_PRINTF("StartCoroutine : Passing in %p (main %p, get_c %p) to %p\n", this, main, get_coroutine, invoke);
    7143
    7244      struct coStack_t* stack = &get_coroutine( this )->stack;
Note: See TracChangeset for help on using the changeset viewer.