diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 14 |
2 files changed, 11 insertions, 8 deletions
@@ -1,7 +1,10 @@ -Sun Sep 10 09:08:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> +Tue Jan 10 09:18:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval.c (stack_extend): fixed prototype. + * eval.c (rb_require_safe): prevent extension from loading twice. + fixed: [ruby-dev:29523] + Sat Sep 9 23:50:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org> * bignum.c (rb_big_mul0): bignum multiplication without @@ -7153,15 +7153,15 @@ rb_require_safe(fname, safe) } else { ruby_safe_level = 0; + /* loading ruby library should be serialized. */ + if (!loading_tbl) { + loading_tbl = st_init_strtable(); + } + /* partial state */ + ftptr = ruby_strdup(RSTRING_PTR(feature)); + st_insert(loading_tbl, (st_data_t)ftptr, (st_data_t)curr_thread); switch (found) { case 'r': - /* loading ruby library should be serialized. */ - if (!loading_tbl) { - loading_tbl = st_init_strtable(); - } - /* partial state */ - ftptr = ruby_strdup(RSTRING(feature)->ptr); - st_insert(loading_tbl, (st_data_t)ftptr, (st_data_t)curr_thread); rb_load(path, 0); break; |