summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2019-12-11 22:52:59 -0500
committerDan Halbert <halbert@halwitz.org>2019-12-11 22:52:59 -0500
commit8176325130422b89bd1eb778780d6655c79f271b (patch)
treecdb25ad587333a0fa0425cc132d028a644fcd6ea /py
parentae64a669ddd47c5e5ed01b6f94f8c206f1f65cf6 (diff)
parentb220befef80018c9d0a280a98597e96cd5350808 (diff)
Merge remote-tracking branch 'adafruit/master' into ld-cleanup
Diffstat (limited to 'py')
-rwxr-xr-xpy/gc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/py/gc.c b/py/gc.c
index a8a5fde12..5e631f5ed 100755
--- a/py/gc.c
+++ b/py/gc.c
@@ -667,6 +667,9 @@ void gc_free(void *ptr) {
if (ptr == NULL) {
GC_EXIT();
} else {
+ if (MP_STATE_MEM(gc_pool_start) == 0) {
+ reset_into_safe_mode(GC_ALLOC_OUTSIDE_VM);
+ }
// get the GC block number corresponding to this pointer
assert(VERIFY_PTR(ptr));
size_t block = BLOCK_FROM_PTR(ptr);