From: Tanaka Akira Date: 2009-08-06T01:33:38+09:00 Subject: [ruby-dev:39028] Re: [Bug #1848] Net::SSH hangs In article <4A7796F1.7080500@arika.org>, akira yamada / やまだあきら writes: > よくわかってないまま試行錯誤を繰り返すのも > どうかとは思ったのですが、 > たとえばこんな感じだとtest_timeout.rbは通るようです。 th_found には、th_found を runnable にしたときは必ず th_found を次に動かすスレッドとして選ぶという意図があります。 (逆にいえば、I/O 待ちなスレッドのうち、次に動かすスレッドと して選ばないものは runnable にはしないということです) 理由は [ruby-core:20446] ですが、なんかうまくないようですね。 Net::SSH の問題は手元では再現しないので、この問題の状況はよ くわかりません。 % ./ruby -v -I/home/ruby/net-ssh/net-ssh-2.0.11/lib -rnet/ssh -e '["localhost","localhost"].map {|h| Thread.new{Net::SSH.start(h, "foo")}}.each {|t| t.join}' ruby 1.8.8dev (2009-08-05 revision 24403) [i686-linux] /home/ruby/net-ssh/net-ssh-2.0.11/lib/net/ssh/ruby_compat.rb:3: warning: method redefined; discarding old getbyte /home/ruby/net-ssh/net-ssh-2.0.11/lib/net/ssh.rb:192:in `start': foo (Net::SSH::AuthenticationFailed) from -e:1:in `join' from -e:1 from -e:1:in `each' from -e:1 でも、コードをみなおしたらなんか変なところを見つけたのでちょっ と直してみました。それがこの問題を直すかどうかはわかりません。 -- [田中 哲][たなか あきら][Tanaka Akira]