Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.5.32 crashed
On Thu, Oct 18, 2007 at 03:54:53PM +0400, Denis Erygin wrote:
> Это вот к чему:
>
> ngx_event_pipe(p, ev->write) => декларируется
> как ngx_int_t ngx_event_pipe (ngx_event_pipe_t *p, int do_write)
>
> #0 0x08059f8e in ngx_event_pipe (p=0x8316714, do_write=-791621424) at
> src/event/ngx_event_pipe.c:43
>
> При входе в функцию
> ( do_write = ev->write ) < 0
>
> src/event/ngx_event_pipe.c:31
> . . .
> for ( ;; ) {
> if (do_write) { - вот тут как-то нехорошо выглядит для do_write < 0
> . . .
> do_write = 1;
> }
> . . .
>
> Так задумано?
Выглядит странно, по идее, там должен быть или 0, или 1.
> ----- Original Message -----
> From: "Igor Sysoev" <is@xxxxxxxxxxxxx>
> To: <nginx-ru@xxxxxxxxx>
> Sent: Thursday, October 18, 2007 3:20 PM
> Subject: Re: nginx-0.5.32 crashed
>
>
> On Thu, Oct 18, 2007 at 03:08:51PM +0400, Denis Erygin wrote:
>
> >src/http/ngx_http_upstream.c: [1890, 1898]:
> >. . .
> >if (ngx_event_pipe(p, ev->write) == NGX_ABORT)
> >{
> > if (downstream->destroyed) {
> > return;
> > }
> >
> > ngx_http_upstream_finalize_request(r, u, 0);
> > return;
> >}
> >. . .
> >
> >Нормально ли, когда ev->write < 0 ?
> >например ev->write = -791621424
>
> Вообще-то, ev->write - это один бит:
>
> struct ngx_event_s {
> void *data;
>
> unsigned write:1;
> ...
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
--
Игорь Сысоев
http://sysoev.ru
|