人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のperlのスクリプトでalarmがきかなくて困っています。
サーバーのレスポンスがない場合10秒でタイムアウトさせる処理をおこなっていますが、アラームがききません。
通信を行うという処理でなければ問題なくアラームがきくのですが、なぜか通信の処理となるときかなくなります。
local $SIG{ALRM} = sub { die "timeout" };を記述しなけば、「アラームクロック」と出力されてスクリプトは止まります。
eval {
local $SIG{ALRM} = sub { die "timeout" };
alarm 10;
# twitterAPIに接続
$twitter->user_timeline();
};
if ($@) {
if ($@ =~ /^timeout/) {
#タイムアウト時処理
}
else {
#その他エラー時処理
}
}

なんとかタイムアウトさせたいのですが、何か解決法わかればご教示ください。
よろしくお願いします。

●質問者: pitts1997
●カテゴリ:インターネット ウェブ制作
✍キーワード:Perl SIG sub アラーム エラー
○ 状態 :キャンセル
└ 回答数 : 0/0件

回答がありません
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ