<br><div><span class="gmail_quote">22.12.06, <b class="gmail_sendername">Igor Sysoev</b> &lt;<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>&gt; написал(а):</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Fri, 22 Dec 2006, Andrey Antonov wrote:<br><br>&gt; Файлы в аттаче.<br><br>Там нет &quot;close() channel failed (9: Bad file descriptor)&quot;, там то же самое,<br>что получается у меня:</blockquote><div><br>Да, согласен, в том что я прислал нет, но это просто тест не корректный, вообще оно есть, сейчас выкину ненужное и пришлю другой тест.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2006/12/22 19:06:34 [notice] 59918#0: signal 20 (SIGCHLD) received<br>2006/12/22 19:06:34 [alert] 59918#0: worker process 59919 exited on signal 11
<br><br>И кстати, этот лог не отладочный.</blockquote><div><br>А как сделать отладочный лог?<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; 22.12.06, Igor Sysoev &lt;<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>&gt; написал(а):<br>&gt;&gt;<br>&gt;&gt; On Fri, 22 Dec 2006, Andrey Antonov wrote:<br>&gt;&gt;<br>&gt;&gt; &gt; Ошибку генерирует например такой код:
<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; sub handler{<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;my $r = shift;<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;if( $r-&gt;has_request_body(\&amp;handle_request) ){<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return OK;<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>
&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return handle_request($r);<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;&gt; &gt; }<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; sub handle_request{<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;my $r = shift;<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;$r-&gt;request_body(); # если запрос сделан методом гет то здесь ошибка,
<br>&gt;&gt; &gt; выполнение хендлера прерывается<br>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;return OK;<br>&gt;&gt; &gt; }<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; Ну понятно, что можно в handler установить переменную,<br>&gt;&gt; $r-&gt;request_body() в
<br>&gt;&gt; &gt; if запихать и все будет работать. Информация perl -V прилагается.<br>&gt;&gt;<br>&gt;&gt; Там на самом деле процесс падает по сигналу, но вот сообщения про<br>&gt;&gt; &quot;close() channel&quot; у не появлется. Можно сделать отладочный лог ?
<br>&gt;&gt;<br>&gt;&gt; &gt; 22.12.06, Igor Sysoev &lt;<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>&gt; написал(а):<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; On Fri, 22 Dec 2006, Andrey Antonov wrote:<br>&gt;&gt; &gt;&gt;
<br>&gt;&gt; &gt;&gt; &gt; Наконец-то перешел с 0.3.61 на 0.5.4, все что до этого не работало в<br>&gt;&gt; &gt;&gt; &gt; 0.4.хтеперь работает, это здорово, весь новый функционал очень<br>&gt;&gt; полезен<br>&gt;&gt; &gt;&gt; &gt; для
<br>&gt;&gt; &gt;&gt; &gt; написания достаточно сложных хендлеров на перле.<br>&gt;&gt; &gt;&gt; &gt; Заметил, что $r-&gt;request_body стало возвращать ошибку &quot;close()<br>&gt;&gt; channel<br>&gt;&gt; &gt;&gt; &gt; failed (9: Bad file descriptor)&quot; если тело запроса пустое (например в
<br>&gt;&gt; &gt;&gt; &gt; обычном гет запросе). Хорошо бы это пофиксить, тк сейчас надо либо<br>&gt;&gt; &gt;&gt; проверять<br>&gt;&gt; &gt;&gt; &gt; тип запроса, либо переменную специальную устанавливать, что не<br>&gt;&gt; удобно.
<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; Как выглядит перловый код ?<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;&gt; Игорь Сысоев<br>&gt;&gt; &gt;&gt; <a href="http://sysoev.ru">http://sysoev.ru</a><br>&gt;&gt; &gt;&gt;
<br>&gt;&gt; &gt;&gt;<br>&gt;&gt; &gt;<br>&gt;&gt;<br>&gt;&gt; Игорь Сысоев<br>&gt;&gt; <a href="http://sysoev.ru">http://sysoev.ru</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;<br><br>Игорь Сысоев<br><a href="http://sysoev.ru">http://sysoev.ru
</a><br><br></blockquote></div><br>