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