« 2004年10月29日 | メイン | 2004年10月31日 »

2004年10月30日

RSS Robot (2)

RSS Robot の挙動がおかしいので修正してみた。おかしいと感じたのは、リクエストを送信する時のタイムアウト処理。

修正後は、以下のようにした。

foreach my $href (@href) {
    eval {
        $SIG{'ALRM'} = sub {
            $out_sock++;
            next;
        };
        alarm 1;

        my $sock = IO::Socket::INET->new("$s{$href}:80");

        if (defined $sock) {
            $selecter->add($sock);

            $p{$sock} = $href;

            print $sock "GET /$r{$href} HTTP/1.0\r\n";
            print $sock "Host: $s{$href}:80\r\n";
            print $sock "\r\n";

            $sock->flush();
        } else {
            $out_sock++;
        }

        alarm 0;
    };
}

やばいなぁ。僕は alarm と eval の使い方をいまいち分かっていない。この書き方で正しいかどうかも微妙だし。

【関連記事】
RSS Robot (2004年10月29日)

22:35 | コメント (0) | トラックバック | Programming

久しぶりに CCOC'S

かなり早起き。ということで、昨日(29日)の食事内容です。
夜は、遅かったので久しぶりに COCO'S に行ってきた。前広報担当者とばったり。びっくりだ。洋食が食べたくって、トリオプレートを頼んでみた。

ココス (夜)
 トリオプレート, ライス

10:09 | コメント (0) | トラックバック | Meal