Lines Matching defs:continuation

2194 	thread_continue_t	continuation = self->continuation;
2240 if (continuation != NULL) {
2253 continuation = thread->continuation;
2308 thread->continuation = thread->parameter = NULL;
2314 assert(continuation);
2315 call_continuation(continuation, parameter, thread->wait_result);
2319 /* same thread but with continuation */
2328 self->continuation = self->parameter = NULL;
2332 call_continuation(continuation, parameter, self->wait_result);
2418 assert(continuation == self->continuation);
2419 thread = machine_switch_context(self, continuation, thread);
2421 TLOG(1,"thread_invoke: returning machine_switch_context: self %p continuation %p thread %p\n", self, continuation, thread);
2430 if (continuation) {
2431 self->continuation = self->parameter = NULL;
2435 call_continuation(continuation, parameter, self->wait_result);
2464 * If blocked at a continuation, discard
2467 if (thread->continuation != NULL && thread->kernel_stack != 0)
2715 * If a continuation is specified, then thread_invoke will
2717 * thread resumes, it will execute the continuation function
2724 thread_continue_t continuation,
2746 self->continuation = continuation;
2752 reason, VM_KERNEL_UNSLIDE(continuation), 0, 0, 0);
2773 thread_continue_t continuation)
2775 return thread_block_reason(continuation, NULL, AST_NONE);
2780 thread_continue_t continuation,
2783 return thread_block_reason(continuation, parameter, AST_NONE);
2799 thread_continue_t continuation,
2805 self->continuation = continuation;
2824 * a new stack after a continuation.
2831 register thread_continue_t continuation;
2836 continuation = self->continuation;
2841 self->continuation = self->parameter = NULL;
2847 call_continuation(continuation, parameter, self->wait_result);
4928 sched_init_thread(void (*continuation)(void))
4933 continuation();