summaryrefslogtreecommitdiff
path: root/src/engine/thread.c
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-08-15 14:28:35 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-08-15 14:28:35 +0530
commitf97ea63ac29c08530b1aaff89277262b44ef7a11 (patch)
tree2534d597b2356de9dda0412665cf8ba06870526c /src/engine/thread.c
parent2bf47937bcc5cd29cf8081f922b7615b7e57ed57 (diff)
phase A
Diffstat (limited to 'src/engine/thread.c')
-rw-r--r--src/engine/thread.c14
1 files changed, 14 insertions, 0 deletions
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 <stdio.h>
+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;