summaryrefslogtreecommitdiff
path: root/load.c
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-02 01:49:15 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-02 01:49:15 +0000
commit8120b188627c610a2040c47e89d825a8bb1e564d (patch)
tree90835a0cef6274f9bf1703dd9f25f7102ffbf990 /load.c
parent9db0dd7bb9562c2c21d651879bf5dc43e2cc5d2f (diff)
load.c (ruby_init_ext): make idempotent to suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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);
}
/*