aboutsummaryrefslogtreecommitdiffstats
path: root/symbol.c
diff options
context:
space:
mode:
authorAdam Hess <adamhess1991@gmail.com>2023-10-12 11:15:53 -0700
committerPeter Zhu <peter@peterzhu.ca>2023-12-07 15:52:35 -0500
commit6816e8efcff3be75f8020cd1b0ea57d3cd664bbc (patch)
tree8f8484b955ba25e9df6a2038db0f156e7cbf71e4 /symbol.c
parentb361a800c22e0248bf126d77e96a7bd4f9c34d1b (diff)
downloadruby-6816e8efcff3be75f8020cd1b0ea57d3cd664bbc.tar.gz
Free everything at shutdown
when the RUBY_FREE_ON_SHUTDOWN environment variable is set, manually free memory at shutdown. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Peter Zhu <peter@peterzhu.ca>
Diffstat (limited to 'symbol.c')
-rw-r--r--symbol.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/symbol.c b/symbol.c
index 6a0c926db8..2c2ab4380c 100644
--- a/symbol.c
+++ b/symbol.c
@@ -531,6 +531,16 @@ register_sym(rb_symbols_t *symbols, VALUE str, VALUE sym)
}
}
+void
+rb_free_static_symid_str(void)
+{
+ GLOBAL_SYMBOLS_ENTER(symbols)
+ {
+ st_free_table(symbols->str_sym);
+ }
+ GLOBAL_SYMBOLS_LEAVE();
+}
+
static void
unregister_sym(rb_symbols_t *symbols, VALUE str, VALUE sym)
{