Changeset bae0d35 for libcfa/src/concurrency/coroutine.hfa
- Timestamp:
- Jun 7, 2021, 2:09:12 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 5a46e09
- Parents:
- 82f4063 (diff), 53692b3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/coroutine.hfa
r82f4063 rbae0d35 86 86 src->state = src->state == Halted ? Halted : Blocked; 87 87 88 // get the active thread once 89 $thread * athrd = active_thread(); 90 91 // Mark the coroutine 92 /* paranoid */ verify( !athrd->corctx_flag ); 93 athrd->corctx_flag = true; 94 88 95 // set new coroutine that task is executing 89 a ctive_thread()->curr_cor = dst;96 athrd->curr_cor = dst; 90 97 91 98 // context switch to specified coroutine 92 verify( dst->context.SP );99 /* paranoid */ verify( dst->context.SP ); 93 100 __cfactx_switch( &src->context, &dst->context ); 94 101 // when __cfactx_switch returns we are back in the src coroutine 102 103 /* paranoid */ verify( athrd->corctx_flag ); 104 athrd->corctx_flag = false; 95 105 96 106 // set state of new coroutine to active
Note: See TracChangeset
for help on using the changeset viewer.