From 0e107345a54bf987aab0495dbbcf0dcfead131a0 Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Sun, 23 Aug 2026 16:37:21 +0530 Subject: phase F --- include/engine/threads.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/engine/threads.h') diff --git a/include/engine/threads.h b/include/engine/threads.h index 43c4459..1e63a5d 100644 --- a/include/engine/threads.h +++ b/include/engine/threads.h @@ -56,6 +56,13 @@ struct root_thread_args { go_args_t *go_args; engine_message_handler_t *message; ttable_t *ttable; + + split_point_t *split_points; // shared DTS pool (§2.4) + size_t sp_pool_capacity; + + // the root stops its workers when the search completes + atomic_int *workers_stop; + int workers_count; }; typedef union { @@ -87,6 +94,7 @@ void __threads_args_init( // DTS primitives (§2.3–2.8): split point pool + lock-free move claiming split_point_t *split_point_alloc(struct threads *handler); +split_point_t *__pool_alloc(split_point_t *pool, size_t capacity); void split_point_free(struct threads *handler, split_point_t *split_point); void split_point_publish(split_point_t *split_point); bool split_point_claim_move(split_point_t *split_point, move_t *move); -- cgit v1.2.3