From f97ea63ac29c08530b1aaff89277262b44ef7a11 Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Sat, 15 Aug 2026 14:28:35 +0530 Subject: phase A --- src/engine/thread.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/engine/thread.c') diff --git a/src/engine/thread.c b/src/engine/thread.c index 25e583e..912b70f 100644 --- a/src/engine/thread.c +++ b/src/engine/thread.c @@ -1,6 +1,20 @@ +#define ENGINE_THREADS_INTERNAL #include "engine/threads.h" #include +void threads_go(struct threads *handler) { + int running_count = handler->running_count; + for (int i = 0; i < running_count; i++) { + __threads_args_init(handler->args + i, handler, i); + pthread_create( + handler->threads + i, + NULL, + i == 0 ? root_thread : child_thread, + handler->args + i + ); + } +} + void *child_thread(void *_args) { struct child_thread_args *args = (struct child_thread_args*)_args; args->stop = 0; -- cgit v1.2.3