Re: $r->request_body выдает ошибку если тело запроса пустое

Igor Sysoev is at rambler-co.ru
Fri Dec 22 19:51:35 MSK 2006


On Fri, 22 Dec 2006, Andrey Antonov wrote:

> 22.12.06, Igor Sysoev <is at rambler-co.ru> написал(а):
>>
>> On Fri, 22 Dec 2006, Andrey Antonov wrote:
>>
>> > Файлы в аттаче.
>>
>> Там нет "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
>>
>> И кстати, этот лог не отладочный.
>
>
> А как сделать отладочный лог?

./configure --with-debug ...

error_log  file  debug;

>> 22.12.06, Igor Sysoev <is at rambler-co.ru> написал(а):
>> >>
>> >> 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 at rambler-co.ru> написал(а):
>> >> >>
>> >> >> 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
>> >>
>> >>
>> >
>>
>> Игорь Сысоев
>> http://sysoev.ru
>>
>>
>

Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list