25 kthread_arg->
entry(kthread_arg->
arg);
49 kthread_arg->
entry = entry;
50 kthread_arg->
arg = arg;
55 pr_fatal(
"failed to create kernel thread");
#define MOS_ASSERT_X(cond, msg,...)
void define_syscall thread_exit(void)
static Process * kthreadd
Thread * kthread_create_no_sched(thread_entry_t entry, void *arg, const char *name)
Create a kernel thread, but do not add it to the scheduler.
Thread * kthread_create(thread_entry_t entry, void *arg, const char *name)
Create a kernel-mode thread.
static void kthread_entry(void *arg)
T * create(Args &&...args)
#define pr_fatal(fmt,...)
#define pr_dinfo2(feat, fmt,...)
mos::HashMap< pid_t, Process * > ProcessTable
void scheduler_add_thread(Thread *thread)
Add a thread to the scheduler, so that it can be scheduled.
void(* thread_entry_t)(void *arg)
static Process * New(Process *parent, mos::string_view name)
PtrResult< Thread > thread_new(Process *owner, thread_mode mode, mos::string_view name, size_t stack_size, void *stack)
Thread * thread_complete_init(Thread *thread)