我的 Perl web 应用程序在 Apache mod_fastcgi 下运行,经常出现如下错误:
在第 119 行超过了未决信号的最大计数 (120)。
我已经看到这种情况与文件上传有关,但我不确定这是唯一一次发生。在我收到该错误之前(或可能之后)我也得到了一个 SIGPIPE。
有什么想法吗?
编辑 感谢大家的建议。有人问119号线是什么。抱歉,应该把它放进去。它在我对上传文件运行病毒检查程序的代码块中。我不是每次都收到错误,只是偶尔。
if(open VIRUS_CK, '|/usr/local/bin/clamscan - --no-summary >'.$tmp_file) {
print VIRUS_CK $data; // THIS IS LINE 119
close VIRUS_CK;
if (($? >> 8) == 1) {
open VIRUS_OUTPUT, '<'.$tmp_file;
my $vout = <VIRUS_OUTPUT>;
close VIRUS_OUTPUT;
$vout =~ s/^stdin:\s//;
$vout =~ s/FOUND$//;
print STDERR "virus found on upload: $vout\n";
return undef, 'could not accept attachment, virus found: '.$vout;
}
unlink($tmp_file);
}