Hi,
The revision r17874 on 1_8 branch:
* eval.c (rb_thread_join): new API.
* ext/thread/thread.c (wait_mutex, lock_mutex): wait until the locking
thread exits. [ruby-dev:34856]
leads to crashes and very hard lock-ups (impossible to kill the script
by Control-C, only by kill -9).
This leads to rubyspec run hard hangups.
Here are the minimized examples:
1. This crashes:
ruby -ve "t = Thread.new {sleep; 5}; p t.value"
ruby 1.8.7 (2008-07-04 revision 0) [i686-linux]
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2008-07-04 revision 0) [i686-linux]
Aborted
2. This locks hard:
ruby -ve "t = Thread.new {sleep; 5}; t.run; p t.value"
ruby 1.8.7 (2008-07-04 revision 0) [i686-linux]
Thanks,
--Vladimir