- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/invoke.c
r596f987b rc84e80a 14 14 15 15 extern void __suspend_no_inline__F___1(void); 16 extern void __scheduler_remove__F_P9sthread_h__1(struct thread_h*); 16 17 17 18 void CtxInvokeCoroutine( … … 20 21 void *this 21 22 ) { 22 LIB_DEBUG_PRINTF("Invoke : Received %p (main %p, get_c %p)\n", this, main, get_coroutine);23 // LIB_DEBUG_PRINTF("Invoke Coroutine : Received %p (main %p, get_c %p)\n", this, main, get_coroutine); 23 24 24 25 struct coroutine* cor = get_coroutine( this ); … … 31 32 32 33 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"); 33 61 } 34 62 … … 40 68 void (*invoke)(void *) 41 69 ) { 42 LIB_DEBUG_PRINTF("StartCoroutine : Passing in %p (main %p, get_c %p) to %p\n", this, main, get_coroutine, invoke);70 // LIB_DEBUG_PRINTF("StartCoroutine : Passing in %p (main %p) to invoke (%p) from start (%p)\n", this, main, invoke, CtxStart); 43 71 44 72 struct coStack_t* stack = &get_coroutine( this )->stack;
Note: See TracChangeset
for help on using the changeset viewer.