summaryrefslogtreecommitdiff
path: root/kc/core/arch_thread.c
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2026-05-22 00:11:54 +0000
committerAda Christine <adachristine18@gmail.com>2026-05-22 00:11:54 +0000
commitbb16bd0a71a8e615441694b97813cda2f8ea8ff8 (patch)
treeea9b83d16d110dd40e7120baa829a3793fbecd25 /kc/core/arch_thread.c
parentedc42358664e9d70227e274273321ab032394a7e (diff)
thread termination cleanup
Diffstat (limited to 'kc/core/arch_thread.c')
-rw-r--r--kc/core/arch_thread.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/kc/core/arch_thread.c b/kc/core/arch_thread.c
index 8f5f8d3..19e8908 100644
--- a/kc/core/arch_thread.c
+++ b/kc/core/arch_thread.c
@@ -73,12 +73,9 @@ void *arch_idle_loop(void *)
return nullptr;
}
-noreturn void arch_terminate_thread(void *result, struct kc_thread *thread)
+noreturn void arch_terminate_thread(union kc_thread_result result, struct kc_thread *)
{
- thread->result = (union kc_thread_result){ .pointer = result };
- thread->status = TERMINATED;
- thread->kernel_stack_pointer = thread->kernel_stack_head;
- task_schedule();
+ kct_terminate(result);
for (;;) __asm__ ("hlt");
}