From 05b517d9fcae2320ae1074793154b3b10d0bf412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20Sabun?= Date: Sun, 10 Aug 2025 02:23:16 +0300 Subject: [PATCH 1/2] Fix scheduler forward declarations --- kernel/core/scheduler.c | 10 ++++++++++ kernel/kernel.h | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kernel/core/scheduler.c b/kernel/core/scheduler.c index 2a3644e..c5d741b 100644 --- a/kernel/core/scheduler.c +++ b/kernel/core/scheduler.c @@ -34,6 +34,16 @@ static bool actor_pool_used[MAX_ACTORS]; static message_t message_pool[MAX_MESSAGES]; static bool message_pool_used[MAX_MESSAGES]; +// Internal function prototypes +static actor_t* scheduler_select_next_actor(void); +static void scheduler_context_switch(actor_t* next_actor); +static void scheduler_add_to_ready_queue(actor_t* actor); +static void scheduler_remove_from_ready_queue(actor_t* actor); +static void actor_create_kernel_actor(void); +static bool actor_add_message(actor_t* actor, message_t* message); +static void actor_clear_message_queue(actor_t* actor); +static message_t* message_allocate(void); + // ============================================================================= // Core Scheduler Functions // ============================================================================= diff --git a/kernel/kernel.h b/kernel/kernel.h index 9edff66..528759d 100644 --- a/kernel/kernel.h +++ b/kernel/kernel.h @@ -77,8 +77,8 @@ typedef struct { // Async Actor System Definitions (Forward Declaration) // ============================================================================= -// Forward declarations - actual definitions in scheduler.h -typedef struct actor_context actor_t; +// Forward declaration - actual definition in scheduler.h +struct actor_context; // ============================================================================= // Memory Management Definitions From fe039a1daaef1238fb20ab56f6f505b7daf00bfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mercan=20Sabun?= Date: Sun, 10 Aug 2025 02:36:43 +0300 Subject: [PATCH 2/2] Update kernel/core/scheduler.c Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- kernel/core/scheduler.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/core/scheduler.c b/kernel/core/scheduler.c index c5d741b..b426845 100644 --- a/kernel/core/scheduler.c +++ b/kernel/core/scheduler.c @@ -35,13 +35,13 @@ static message_t message_pool[MAX_MESSAGES]; static bool message_pool_used[MAX_MESSAGES]; // Internal function prototypes -static actor_t* scheduler_select_next_actor(void); -static void scheduler_context_switch(actor_t* next_actor); -static void scheduler_add_to_ready_queue(actor_t* actor); -static void scheduler_remove_from_ready_queue(actor_t* actor); +static struct actor_context* scheduler_select_next_actor(void); +static void scheduler_context_switch(struct actor_context* next_actor); +static void scheduler_add_to_ready_queue(struct actor_context* actor); +static void scheduler_remove_from_ready_queue(struct actor_context* actor); static void actor_create_kernel_actor(void); -static bool actor_add_message(actor_t* actor, message_t* message); -static void actor_clear_message_queue(actor_t* actor); +static bool actor_add_message(struct actor_context* actor, message_t* message); +static void actor_clear_message_queue(struct actor_context* actor); static message_t* message_allocate(void); // =============================================================================