Там нет "close() channel failed (9: Bad file descriptor)", там то же самое,
что получается у меня:
2006/12/22 19:06:34 [notice] 59918#0: signal 20 (SIGCHLD) received
2006/12/22 19:06:34 [alert] 59918#0: worker process 59919 exited on signal 11
И кстати, этот лог не отладочный.
22.12.06, Igor Sysoev <is@xxxxxxxxxxxxx> написал(а):
On Fri, 22 Dec 2006, Andrey Antonov wrote:
> Ошибку генерирует например такой код:
>
> sub handler{
> my $r = shift;
> if( $r->has_request_body(\&handle_request) ){
> return OK;
> } else {
> return handle_request($r);
> }
> }
>
> sub handle_request{
> my $r = shift;
> $r->request_body(); # если запрос сделан методом гет то здесь ошибка,
> выполнение хендлера прерывается
> return OK;
> }
>
> Ну понятно, что можно в handler установить переменную,
$r->request_body() в
> if запихать и все будет работать. Информация perl -V прилагается.
Там на самом деле процесс падает по сигналу, но вот сообщения про
"close() channel" у не появлется. Можно сделать отладочный лог ?
> 22.12.06, Igor Sysoev <is@xxxxxxxxxxxxx> написал(а):
>>
>> On Fri, 22 Dec 2006, Andrey Antonov wrote:
>>
>> > Наконец-то перешел с 0.3.61 на 0.5.4, все что до этого не работало в
>> > 0.4.хтеперь работает, это здорово, весь новый функционал очень
полезен
>> > для
>> > написания достаточно сложных хендлеров на перле.
>> > Заметил, что $r->request_body стало возвращать ошибку "close()
channel
>> > failed (9: Bad file descriptor)" если тело запроса пустое (например в
>> > обычном гет запросе). Хорошо бы это пофиксить, тк сейчас надо либо
>> проверять
>> > тип запроса, либо переменную специальную устанавливать, что не
удобно.
>>
>> Как выглядит перловый код ?
>>
>>
>> Игорь Сысоев
>> http://sysoev.ru
>>
>>
>
Игорь Сысоев
http://sysoev.ru