aboutsummaryrefslogtreecommitdiffstats
path: root/load.c
diff options
context:
space:
mode:
Diffstat (limited to 'load.c')
-rw-r--r--load.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/load.c b/load.c
index 811d03511f..e88abfbb0c 100644
--- a/load.c
+++ b/load.c
@@ -1059,10 +1059,13 @@ ruby_init_ext(const char *name, void (*init)(void))
{
st_table *loading_tbl = get_loading_table();
+ if (rb_provided(name))
+ return;
if (!loading_tbl) {
GET_VM()->loading_table = loading_tbl = st_init_strtable();
}
st_update(loading_tbl, (st_data_t)name, register_init_ext, (st_data_t)init);
+ rb_provide(name);
}
/*