summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-12-14 11:40:11 +1100
committerDamien George <damien.p.george@gmail.com>2016-12-14 11:40:11 +1100
commite8f2db7da3f0e60901b09ee6eada99a9e875497f (patch)
tree1150feb2c3e6ad2669da5ac42bd862f533c768d4
parente83f140463f2144b84e2fe4fa249ab8c8426b5e9 (diff)
downloadmicropython-e8f2db7da3f0e60901b09ee6eada99a9e875497f.tar.gz
micropython-e8f2db7da3f0e60901b09ee6eada99a9e875497f.zip
py/runtime: Zero out fs_user_mount array in mp_init.
There's no need to force ports to copy-and-paste this initialisation code. If FSUSERMOUNT is enabled then this zeroing out must be done.
-rw-r--r--esp8266/main.c3
-rw-r--r--py/runtime.c5
-rw-r--r--stmhal/main.c3
3 files changed, 5 insertions, 6 deletions
diff --git a/esp8266/main.c b/esp8266/main.c
index 9883f9f96d..6814248aa6 100644
--- a/esp8266/main.c
+++ b/esp8266/main.c
@@ -52,9 +52,6 @@ STATIC void mp_reset(void) {
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_lib));
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_));
mp_obj_list_init(mp_sys_argv, 0);
- #if MICROPY_VFS_FAT
- memset(MP_STATE_PORT(fs_user_mount), 0, sizeof(MP_STATE_PORT(fs_user_mount)));
- #endif
MP_STATE_PORT(mp_kbd_exception) = mp_obj_new_exception(&mp_type_KeyboardInterrupt);
MP_STATE_PORT(term_obj) = MP_OBJ_NULL;
MP_STATE_PORT(dupterm_arr_obj) = MP_OBJ_NULL;
diff --git a/py/runtime.c b/py/runtime.c
index 0ecccbd874..e7e35a081a 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -91,6 +91,11 @@ void mp_init(void) {
MP_STATE_VM(mp_module_builtins_override_dict) = NULL;
#endif
+ #if MICROPY_FSUSERMOUNT
+ // zero out the pointers to the user-mounted devices
+ memset(MP_STATE_VM(fs_user_mount), 0, sizeof(MP_STATE_VM(fs_user_mount)));
+ #endif
+
#if MICROPY_PY_THREAD_GIL
mp_thread_mutex_init(&MP_STATE_VM(gil_mutex));
#endif
diff --git a/stmhal/main.c b/stmhal/main.c
index b5d0916f3a..78afe54ef6 100644
--- a/stmhal/main.c
+++ b/stmhal/main.c
@@ -439,9 +439,6 @@ soft_reset:
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_flash_slash_lib));
mp_obj_list_init(mp_sys_argv, 0);
- // zero out the pointers to the mounted devices
- memset(MP_STATE_PORT(fs_user_mount), 0, sizeof(MP_STATE_PORT(fs_user_mount)));
-
// Initialise low-level sub-systems. Here we need to very basic things like
// zeroing out memory and resetting any of the sub-systems. Following this
// we can run Python scripts (eg boot.py), but anything that is configurable