Module context become NULL on redirect

Matthieu Tourne matthieu.tourne at gmail.com
Wed Jun 9 20:23:56 MSD 2010


Hi Peter,

On Wed, Jun 9, 2010 at 2:48 AM, Peter Leonov <pl at programica.ru> wrote:
> Hello, devels,
>
> got a mysterious crash in a module, that relies on request cleanup hook.
> In the cleanup handler the module meets its context pointer
> (via ngx_http_get_module_ctx()) zeroed-out.
>
> The redirected request hits other location and I believe
> that all contexts have to be dropped. But what could the module do
> if it has some timers set on the redirected request or if the module needs
> to free some memory allocated somewhere out of the request pool?
>
> The only way I see is to double store the context in the cleanup hook.
> Has somebody such a tricky issue solved this way? ;)

There is an example of a modified internal_redirect function that
cleans all the contexts, except for the one you want to keep in
agentzh's chunkin module [1].
Search for ngx_http_chunkin_internal_redirect() in ngx_http_chunkin_util.c

> Thanks,
> Peter.
>

[1] http://github.com/agentzh/chunkin-nginx-module

-- 
Matthieu Tourne



More information about the nginx-devel mailing list