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 + + * load.c (load_lock): revert r38744. it should acquire new thread + shield. + Wed Jan 9 15:40:18 2013 Nobuyoshi Nakada * 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; }