From 109c1de015eeee385020233e2f8cc6f921149103 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 31 Oct 2014 21:30:46 +0000 Subject: py: Make gc.enable/disable just control auto-GC; alloc is still allowed. gc.enable/disable are now the same as CPython: they just control whether automatic garbage collection is enabled or not. If disabled, you can still allocate heap memory, and initiate a manual collection. --- py/gc.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'py/gc.h') diff --git a/py/gc.h b/py/gc.h index dc276dd2b..69fe83752 100644 --- a/py/gc.h +++ b/py/gc.h @@ -32,6 +32,11 @@ void gc_lock(void); void gc_unlock(void); bool gc_is_locked(void); +// This variable controls auto garbage collection. If set to 0 then the +// GC won't automatically run when gc_alloc can't find enough blocks. But +// you can still allocate/free memory and also explicitly call gc_collect. +extern uint16_t gc_auto_collect_enabled; + // A given port must implement gc_collect by using the other collect functions. void gc_collect(void); void gc_collect_start(void); -- cgit v1.2.3