summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-09 13:14:05 +0000
committerglass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-09 13:14:05 +0000
commit94b4e7c78311679859d5bd6505382885cc7cb169 (patch)
treebc290ca3eea67c7499387040ecd9769ca2462a83
parent4e323c0a9d4f333ca6405c97893570df578dfbf8 (diff)
* load.c (load_lock): revert r38744. it should acquire new thread
shield. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--load.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f5c542615a..99c89542eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jan 9 21:43:32 2013 Masaki Matsushita <glass.saga@gmail.com>
+
+ * load.c (load_lock): revert r38744. it should acquire new thread
+ shield.
+
Wed Jan 9 15:40:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (th_init, ruby_thread_init): initialize root_svar with Qnil,
diff --git a/load.c b/load.c
index 147307d07f..70e3ee8646 100644
--- a/load.c
+++ b/load.c
@@ -668,6 +668,9 @@ load_lock(const char *ftptr)
}
switch (rb_thread_shield_wait((VALUE)data)) {
case Qfalse:
+ data = (st_data_t)ftptr;
+ st_delete(loading_tbl, &data, 0);
+ return 0;
case Qnil:
return 0;
}