From a1ef5ac65db8c7509bef5d3db9ba6de9fbb4ef40 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Sat, 2 Jul 2022 15:05:41 -0500 Subject: [PATCH] py/scheduler: Use MP_REGISTER_ROOT_POINTER(). This uses MP_REGISTER_ROOT_POINTER() to register sched_queue instead of using a conditional inside of mp_state_vm_t. Signed-off-by: David Lechner --- py/mpstate.h | 4 ---- py/scheduler.c | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/py/mpstate.h b/py/mpstate.h index b7c41c81fc..1b6e623ca9 100644 --- a/py/mpstate.h +++ b/py/mpstate.h @@ -150,10 +150,6 @@ typedef struct _mp_state_vm_t { // dictionary with loaded modules (may be exposed as sys.modules) mp_obj_dict_t mp_loaded_modules_dict; - #if MICROPY_ENABLE_SCHEDULER - mp_sched_item_t sched_queue[MICROPY_SCHEDULER_DEPTH]; - #endif - // dictionary for the __main__ module mp_obj_dict_t dict_main; diff --git a/py/scheduler.c b/py/scheduler.c index e8ad4e4f17..db090b0991 100644 --- a/py/scheduler.c +++ b/py/scheduler.c @@ -196,6 +196,8 @@ bool mp_sched_schedule_node(mp_sched_node_t *node, mp_sched_callback_t callback) } #endif +MP_REGISTER_ROOT_POINTER(mp_sched_item_t sched_queue[MICROPY_SCHEDULER_DEPTH]); + #endif // MICROPY_ENABLE_SCHEDULER // Called periodically from the VM or from "waiting" code (e.g. sleep) to