From 614923d2a55ea94909db81c8d33b7946fba050a5 Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko Date: Tue, 16 May 2017 16:49:58 +0300 Subject: [PATCH] machnarium: do not pass main context pointer --- src/mm_context.c | 3 +-- src/mm_context.h | 3 +-- src/mm_scheduler.c | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/mm_context.c b/src/mm_context.c index 4fd32466..f7686b7a 100644 --- a/src/mm_context.c +++ b/src/mm_context.c @@ -68,7 +68,7 @@ mm_context_prepare(mm_fiberstack_t *stack) } void -mm_context_create(void *ctx, void *main_context, mm_fiberstack_t *stack, +mm_context_create(void *ctx, mm_fiberstack_t *stack, void (*function)(void*), void *arg) { @@ -87,7 +87,6 @@ mm_context_create(void *ctx, void *main_context, mm_fiberstack_t *stack, /* execute runner: pass function and argument */ mm_context_swap(&context_runner, context); - (void)main_context; } #if !defined(__amd64) && !defined(__i386) diff --git a/src/mm_context.h b/src/mm_context.h index 3c510864..be5b7933 100644 --- a/src/mm_context.h +++ b/src/mm_context.h @@ -11,8 +11,7 @@ typedef void (*mm_context_callback_t)(void*); void *mm_context_alloc(void); void mm_context_free(void*); -void mm_context_create(void*, void*, - mm_fiberstack_t*, +void mm_context_create(void*, mm_fiberstack_t*, mm_context_callback_t, void*); void mm_context_swap(void*, void*); diff --git a/src/mm_scheduler.c b/src/mm_scheduler.c index 800f07a1..497874ea 100644 --- a/src/mm_scheduler.c +++ b/src/mm_scheduler.c @@ -77,9 +77,7 @@ mm_scheduler_new(mm_scheduler_t *scheduler, mm_function_t function, void *arg) return NULL; fiber->scheduler = scheduler; } - mm_context_create(fiber->context, - scheduler->main.context, - &fiber->stack, + mm_context_create(fiber->context, &fiber->stack, mm_scheduler_main, fiber); fiber->id = scheduler->id_seq++; fiber->function = function;