2ch特化型サーバ・ロケーション構築作戦 Part19

このエントリーをはてなブックマークに追加
687root▲ ★
1/100秒対応:

通らないところで、use したものがない場合エラーになるようなので、
syscallで代用。

# 一部サーバではマイクロ秒もとる
if($ENV{SERVER_NAME} =~ /snow|ex14|live22/)
{
# 本当はこっちの方が普通だが、、、
#use Time::HiRes qw( gettimeofday );
#
#($GBX->{NOWTIME}, $GBX->{NOWMICROTIME}) = gettimeofday;
#
# FreeBSD 5.2.1Rなbananaサーバのperlには
# Time::HiResが入っていないので、
# 替わりにsyscallを使うことにする

my $tv = pack("L!L!", ()); # 2つのpackしたlong型変数

require 'sys/syscall.ph';
syscall(&main::SYS_gettimeofday, $tv, undef);

($GBX->{NOWTIME}, $GBX->{NOWMICROTIME}) = unpack("L!L!", $tv);
}
else
{
$GBX->{NOWTIME} = time ; #現在時刻
}