Lines Matching +full:- +full:- +full:with +full:- +full:coroutine
2 * Win32 coroutine initialization code
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27 #include "qemu/coroutine-tls.h"
31 Coroutine base;
38 QEMU_DEFINE_STATIC_CO_TLS(Coroutine *, current);
49 qemu_coroutine_switch(Coroutine *from_, Coroutine *to_, in qemu_coroutine_switch()
57 to->action = action; in qemu_coroutine_switch()
58 SwitchToFiber(to->fiber); in qemu_coroutine_switch()
59 return from->action; in qemu_coroutine_switch()
64 Coroutine *co = co_; in coroutine_trampoline()
67 co->entry(co->entry_arg); in coroutine_trampoline()
68 qemu_coroutine_switch(co, co->caller, COROUTINE_TERMINATE); in coroutine_trampoline()
72 Coroutine *qemu_coroutine_new(void) in qemu_coroutine_new()
78 co->fiber = CreateFiber(stack_size, coroutine_trampoline, &co->base); in qemu_coroutine_new()
79 return &co->base; in qemu_coroutine_new()
82 void qemu_coroutine_delete(Coroutine *co_) in qemu_coroutine_delete()
86 DeleteFiber(co->fiber); in qemu_coroutine_delete()
90 Coroutine *qemu_coroutine_self(void) in qemu_coroutine_self()
92 Coroutine *current = get_current(); in qemu_coroutine_self()
97 current = &leader->base; in qemu_coroutine_self()
99 leader->fiber = ConvertThreadToFiber(NULL); in qemu_coroutine_self()
106 Coroutine *current = get_current(); in qemu_in_coroutine()
108 return current && current->caller; in qemu_in_coroutine()