nginx-0.5.32 crashed

Denis Erygin erygin at corp.mail.ru
Thu Oct 18 15:54:53 MSD 2007


Это вот к чему:

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;
}
. . .

Так задумано?

----- Original Message ----- 
From: "Igor Sysoev" <is at rambler-co.ru>
To: <nginx-ru at sysoev.ru>
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






More information about the nginx-ru mailing list