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 <david@pybricks.com>
pull/8922/head
David Lechner 2022-07-02 15:05:41 -05:00 zatwierdzone przez Damien George
rodzic 85b4f36100
commit a1ef5ac65d
2 zmienionych plików z 2 dodań i 4 usunięć

Wyświetl plik

@ -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;

Wyświetl plik

@ -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