From a2d581e065423bbc1f4550efd08d20fa58f03668 Mon Sep 17 00:00:00 2001 From: MacRsh Date: Sun, 13 Jul 2025 01:52:41 +0800 Subject: [PATCH] feat(async): Optimize resource usage when the async coroutine pattern is not enabled. --- include/mr-X/mr_async.h | 2 +- kernel/async.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/mr-X/mr_async.h b/include/mr-X/mr_async.h index 854f950..19ef583 100644 --- a/include/mr-X/mr_async.h +++ b/include/mr-X/mr_async.h @@ -48,8 +48,8 @@ typedef struct mr_async { mr_object_t parent; #if defined(MR_USE_ASYNC_COROUTINE) mr_await_t await; -#endif /* defined(MR_USE_ASYNC_COROUTINE) */ mr_int32_t label; +#endif /* defined(MR_USE_ASYNC_COROUTINE) */ mr_list_t list; mr_work_t work; mr_ptr_t entry; diff --git a/kernel/async.c b/kernel/async.c index c6aa05e..b0b3b70 100644 --- a/kernel/async.c +++ b/kernel/async.c @@ -237,10 +237,10 @@ static mr_err_t async_init(mr_async_t *async, const mr_class_t *class, mr_work_init(&async->work, async_work_entry, param); #if defined(MR_USE_ASYNC_COROUTINE) mr_await_init(&async->await, 1); + async->label = 0; #endif /* defined(MR_USE_ASYNC_COROUTINE) */ mr_list_init(&async->list); async->entry = entry; - async->label = 0; /* Init object */ return mr_object_init((mr_object_t *)async, class);