ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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




22.12.06, Igor Sysoev <is@xxxxxxxxxxxxx> написал(а):
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

И кстати, этот лог не отладочный.

А как сделать отладочный лог?

> 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
>>
>>
>

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




 




Copyright © Lexa Software, 1996-2009.