diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | load.c | 3 |
2 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Sun Mar 2 10:47:58 2014 Eric Wong <e@80x24.org> + + * load.c (ruby_init_ext): make idempotent to suppress warnings + Sat Mar 1 19:51:42 2014 Tanaka Akira <akr@fsij.org> * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing @@ -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); } /* |