Это вот к чему:
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@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