Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     11 Jun 2003  14:36:55
 To : Artem Chuprina
 Subject : Re: CGI.pm
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Хмутро.
 > 
 >  ST>> Вылечилось полным сносом и последующей установкой с нуля. В общем,
 >  ST>> подземный стук какой-то. 
 > 
 > ST> А виноватым в pезультате оказался... mod_gzip. (Мат!)
 > ST> Пpидется, видимо, ползти в стоpону втоpого апача, там mod_deflate есть.
 > 
 > Он и для первого есть.
 
 А переписать:
 
 read(STDIN, $buffer, $len);
 
 как:
 
 use Errno qw(EINTR EAGAIN);
 for (my $offset = 0; $offset < $len;) {
      my $n = read(STDIN, $buffer, $len - $offset, $offset);
      last unless defined($n) ? $n : ($!{EINTR} || $!{EAGAIN});
      $offset += $n;
 }
 
 не судьба? Очевидно тут имеет место стечение двух факторов:
 
 1a. STDIN теперь не TCP сокет, а некая другая структура (pipe?
 unix domain socket in datagram mode? pseudo-tty pair?) для
 которой типовой реакцией при чтении данных большего объема
 чем содержатся в буфере является short read.
 
      либо
 
 1b. Какой-то сигнал (например SIGCHLD от какого-то вспомогательного
 дочернего процесса) прерывает системный вызов read.
 
 2. Используемый IO Layer почему-то не исправляет эту ситуацию.
 
 -- 
 Андрей
 
 P.S. Хотя еще есть вариант, что apache с mod_gzip попросту отдал
 STDIN в неблокирующем режиме. Тогда спасет:
 
 use Fcntl;
 fcntl(STDIN, F_SETFL, 0);
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 CGI.pm   Serguei Trouchelle   06 Jun 2003 10:58:59 
 Re: CGI.pm   Mikhail Polykovsky   06 Jun 2003 13:54:01 
 Re: CGI.pm   Max Kosyakov   08 Jun 2003 11:16:43 
 CGI.pm   Serguei Trouchelle   10 Jun 2003 15:54:27 
 CGI.pm   Serguei Trouchelle   10 Jun 2003 17:24:56 
 Re: CGI.pm   Artem Chuprina   11 Jun 2003 12:14:58 
 CGI.pm   Serguei Trouchelle   11 Jun 2003 11:30:30 
 Re: CGI.pm   Andrey Sapozhnikov   11 Jun 2003 14:36:55 
 CGI.pm   Serguei Trouchelle   11 Jun 2003 13:57:10 
 Re: CGI.pm   Andrew Alakozow   09 Jun 2003 10:44:56 
Архивное /ru.cgi.perl/6577f025f799.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional