From 62efc6f305045d83eab8493bc3b58e9bd3504159 Mon Sep 17 00:00:00 2001 From: glass Date: Wed, 9 Jan 2013 13:14:09 +0000 Subject: * load.c (load_lock): if thread shield is destroyed and there is no waiting thread, insert new thread shield into load_table. [Bug #7530] [ruby-core:50645] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- load.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'load.c') diff --git a/load.c b/load.c index 70e3ee8646..a2986d42ed 100644 --- a/load.c +++ b/load.c @@ -669,7 +669,7 @@ 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); + st_insert(loading_tbl, data, (st_data_t)rb_thread_shield_new()); return 0; case Qnil: return 0; -- cgit v1.2.3