--b5KS/K1Rg+u9lwMXNpK
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Wed, 2007-01-17 at 11:02 +0900, Young Hyun wrote:
> The program below reproduces the problem, and surprisingly, I only  
> use Mutex and ConditionVariable--no Queue.

I've reduced the test case you gave me down to:

        require 'fastthread'
        require 'thread'
        
        mutex = Mutex.new
        condition = ConditionVariable.new
        t = Thread.new do
          mutex.lock
          condition.wait mutex
        end
        exit

The problem, in this case, appears to be coping with the mutex and
condition variable getting destroyed at program exit while there is
still a thread waiting on the condition variable.

Simple waits on mutexes do not appear to be affected; for instance, this
does not crash for me:

        require 'fastthread'
        require 'thread'
        
        mutex = Mutex.new
        mutex.lock
        t = Thread.new do
          mutex.lock
        end
        exit
        
I'm currently unsure whether it's related to the other (non-exit-time)
crash or not.

-mental

--b5KS/K1Rg+u9lwMXNpK
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBFr5wPSuZBmZzm14ERAoCzAKDgzJ/hTXr4EFVZLd7TRGStc5t7xQCgmBV3
youBozr214oaKew/qRBofQYg53
-----END PGP SIGNATURE-----

--b5KS/K1Rg+u9lwMXNpK--