From 8120b188627c610a2040c47e89d825a8bb1e564d Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 2 Mar 2014 01:49:15 +0000 Subject: 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 --- ChangeLog | 4 ++++ load.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 94f7c0b8e8..cf2efda9b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Mar 2 10:47:58 2014 Eric Wong + + * load.c (ruby_init_ext): make idempotent to suppress warnings + Sat Mar 1 19:51:42 2014 Tanaka Akira * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing 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); } /* -- cgit v1.2.3