Мое веб-приложение на Perl, работающее под Apache mod_fastcgi, часто получает такие ошибки, как
следующее:
Максимальное количество ожидающих сигналов (120) превышено в строке 119.
Я видел, как это происходило при загрузке файлов, но я не уверен, что это
единственный раз, когда это происходит. Я также получаю 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);
}