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

Andrey Antonov antonov.andrey at gmail.com
Fri Dec 22 19:45:09 MSK 2006


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
>
> И кстати, этот лог не отладочный.


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

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20061222/d4f949d2/attachment.html>


More information about the nginx-ru mailing list