Lines Matching refs:continuation

2068 	thread_continue_t	continuation = self->continuation;
2101 if (continuation != NULL) {
2114 continuation = thread->continuation;
2168 thread->continuation = thread->parameter = NULL;
2175 assert(continuation);
2176 call_continuation(continuation, parameter, thread->wait_result);
2180 /* same thread but with continuation */
2189 self->continuation = self->parameter = NULL;
2194 call_continuation(continuation, parameter, self->wait_result);
2280 assert(continuation == self->continuation);
2281 thread = machine_switch_context(self, continuation, thread);
2283 TLOG(1,"thread_invoke: returning machine_switch_context: self %p continuation %p thread %p\n", self, continuation, thread);
2292 if (continuation) {
2293 self->continuation = self->parameter = NULL;
2298 call_continuation(continuation, parameter, self->wait_result);
2324 * If blocked at a continuation, discard
2327 if (thread->continuation != NULL && thread->kernel_stack != 0)
2511 * If a continuation is specified, then thread_invoke will
2513 * thread resumes, it will execute the continuation function
2520 thread_continue_t continuation,
2545 self->continuation = continuation;
2551 reason, VM_KERNEL_UNSLIDE(continuation), 0, 0, 0);
2573 thread_continue_t continuation)
2575 return thread_block_reason(continuation, NULL, AST_NONE);
2580 thread_continue_t continuation,
2583 return thread_block_reason(continuation, parameter, AST_NONE);
2599 thread_continue_t continuation,
2607 self->continuation = continuation;
2628 * a new stack after a continuation.
2635 register thread_continue_t continuation;
2640 continuation = self->continuation;
2645 self->continuation = self->parameter = NULL;
2653 call_continuation(continuation, parameter, self->wait_result);
4316 sched_init_thread(void (*continuation)(void))
4320 continuation();