- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/invoke.c
rc84e80a r596f987b 14 14 15 15 extern void __suspend_no_inline__F___1(void); 16 extern void __scheduler_remove__F_P9sthread_h__1(struct thread_h*);17 16 18 17 void CtxInvokeCoroutine( … … 21 20 void *this 22 21 ) { 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); 24 23 25 24 struct coroutine* cor = get_coroutine( this ); … … 32 31 33 32 main( this ); 34 35 //Final suspend, should never return36 __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 *this44 ) {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 return59 __suspend_no_inline__F___1();60 assertf(false, "Resumed dead thread");61 33 } 62 34 … … 68 40 void (*invoke)(void *) 69 41 ) { 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); 71 43 72 44 struct coStack_t* stack = &get_coroutine( this )->stack;
Note: See TracChangeset
for help on using the changeset viewer.