Welcome! Log In Create A New Profile

Advanced

Re: Writing a timer event (how to execute an event from time to time)

Peter Leonov
May 25, 2010 08:56AM
> [...]
>> More to say, the timers mechanism is request agnostic. nginx doesn't track
>> if the timer (wev) structure is already trashed, or even the entire request
>> is freed. So you have to manage the lifetime of the timer manually.
>
> Like I said, my request is not freed because I lock responding to the
> client with http chunked response and buf->last_buf = 0. At least I
> think my request would not be freed until I call ngx_finalize_request,
> right?
Can't say for 0.7.x, but in 0.8 the request may be cleaned up before the last
buffer is sent. For example, returning NGX_ERROR from a handler would lead to
the request cleanup as soon as possible. It may be false for 0.7.

Setting up a cleanup handler seems to be a good thing to do anyway ;)
Like so:

ngx_http_cleanup_t *cln;

cln = ngx_http_cleanup_add(r, 0);
if (cln == NULL) {
return NGX_ERROR;
}

cln->data = r;
cln->handler = cleanup_handler;


static void
cleanup_handler(void *data) {
ngx_http_request_t *r;
r = data;

// here get the module context ant delete the timer
}

Best regards,
Peter.
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Writing a timer event (how to execute an event from time to time)

Rogério Schneider 4057 May 25, 2010 01:18AM

Re: Writing a timer event (how to execute an event from time to time)

Weibin Yao 1268 May 25, 2010 01:34AM

Re: Writing a timer event (how to execute an event from time to time)

Rogério Schneider 1218 May 25, 2010 07:36AM

Re: Writing a timer event (how to execute an event from time to time)

Maxim Dounin 1206 May 25, 2010 09:14AM

Re: Writing a timer event (how to execute an event from time to time)

Rogério Schneider 1070 May 25, 2010 10:06AM

Re: Writing a timer event (how to execute an event from time to time)

Maxim Dounin 1584 May 25, 2010 11:12AM

Re: Writing a timer event (how to execute an event from time to time)

Piotr Sikora 1042 May 25, 2010 05:14AM

Re: Writing a timer event (how to execute an event from time to time)

Rogério Schneider 1090 May 25, 2010 07:42AM

Re: Writing a timer event (how to execute an event from time to time)

Peter Leonov 1161 May 25, 2010 07:08AM

Re: Writing a timer event (how to execute an event from time to time)

Rogério Schneider 1089 May 25, 2010 07:48AM

Re: Writing a timer event (how to execute an event from time to time)

Peter Leonov 1008 May 25, 2010 08:56AM

Re: Writing a timer event (how to execute an event from time to time)

Rogério Schneider 1096 May 25, 2010 10:08AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 279
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready