Perlについての質問箱 18箱目
■ このスレッドは過去ログ倉庫に格納されています
0020デフォルトの名無しさん
2005/07/21(木) 15:07:46呼び出すperlスクリプトがあります。solaris9だと上手く動いている
(ように見える)のですが、FreeBSD5.4だと時々thread内で無限ループ
らしき状況に陥ります(ちゃんと動くときもあります)
かたっぱしからprintfを入れてどこで止まってるかを調べてみると、
open文の個所でコマンドを呼び出し中(コマンドは実行されていない)
で止まっています。
単純な
for($i=0;$i<1000;$i++) {
threads->new(\&a,"foo");
};
foreach (threads->list) {
$_->join;
}
sub a {
open(FILE,"echo @_|");
}
だと問題なく動作します。
両OSともperl5.8.7、thread関連はperl -Vの出力では
usethreads=define use5005threads=undef useithreads=define
となっています。
スクリプトの問題なのか、perlの問題なのか、FreeBSDの問題なのか切り分け
ようと思うのですが、どこから手を付けたらよいのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています