From: Tanaka Akira Date: 2011-06-15T15:29:09+09:00 Subject: [ruby-dev:43820] mysterious hang at busy loop after system() 以下のようなプログラムが手元の環境のひとつでハングします。 不思議なことに、先頭の system('true') を取り除くとハングしません。 % cat y.rb system('true') raised = false t = Thread.new do raised = true loop { } end begin raise rescue until raised || !t.alive? Thread.pass end end % ./ruby y.rb ^C^C^C^C^C^Z zsh: suspended ./ruby y.rb % kill -9 %1 % [1] + killed ./ruby y.rb % ./ruby -v ruby 1.9.3dev (2011-06-15 trunk 32099) [x86_64-linux] % uname -mrsv Linux 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 % lsb_release -a LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: Ubuntu Description: Ubuntu 11.04 Release: 11.04 Codename: natty -- [田中 哲][たなか あきら][Tanaka Akira]