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