* eval.c (rb_require_safe): segfault after loading .so.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b2de95d4af
commit
e7257aa72e
@ -1,3 +1,7 @@
|
|||||||
|
Tue Oct 14 02:29:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (rb_require_safe): segfault after loading .so.
|
||||||
|
|
||||||
Tue Oct 14 02:05:23 2003 Akinori MUSHA <knu@iDaemons.org>
|
Tue Oct 14 02:05:23 2003 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
* ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper
|
* ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper
|
||||||
@ -20,8 +24,6 @@ Mon Oct 13 23:57:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|||||||
|
|
||||||
* intern.h: prototypes; rb_require_safe.
|
* intern.h: prototypes; rb_require_safe.
|
||||||
|
|
||||||
Mon Oct 13 23:57:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
||||||
|
|
||||||
* test/runner.rb: accept non-option arguments.
|
* test/runner.rb: accept non-option arguments.
|
||||||
|
|
||||||
Mon Oct 13 20:49:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Mon Oct 13 20:49:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
9
eval.c
9
eval.c
@ -6062,9 +6062,8 @@ rb_require_safe(fname, safe)
|
|||||||
ruby_safe_level = safe;
|
ruby_safe_level = safe;
|
||||||
found = search_required(fname, &feature, &path);
|
found = search_required(fname, &feature, &path);
|
||||||
if (found) {
|
if (found) {
|
||||||
ftptr = RSTRING(feature)->ptr;
|
|
||||||
if (!path) {
|
if (!path) {
|
||||||
load_wait(ftptr);
|
load_wait(RSTRING(feature)->ptr);
|
||||||
result = Qfalse;
|
result = Qfalse;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -6077,9 +6076,9 @@ rb_require_safe(fname, safe)
|
|||||||
loading_tbl = st_init_strtable();
|
loading_tbl = st_init_strtable();
|
||||||
}
|
}
|
||||||
/* partial state */
|
/* partial state */
|
||||||
st_insert(loading_tbl,
|
ftptr = ruby_strdup(RSTRING(feature)->ptr);
|
||||||
(st_data_t)(ftptr = ruby_strdup(ftptr)),
|
st_insert(loading_tbl, (st_data_t)ftptr,
|
||||||
(st_data_t)curr_thread);
|
(st_data_t)(mutex = rb_thread_mutex_new(Qtrue)));
|
||||||
if (feature == fname && !OBJ_FROZEN(feature)) {
|
if (feature == fname && !OBJ_FROZEN(feature)) {
|
||||||
feature = rb_str_dup(feature);
|
feature = rb_str_dup(feature);
|
||||||
OBJ_FREEZE(feature);
|
OBJ_FREEZE(feature);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user