<div dir="ltr">Thanks!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 4:38 PM, Yichun Zhang (agentzh) <span dir="ltr"><<a href="mailto:agentzh@gmail.com" target="_blank">agentzh@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div class="im"><br>
On Fri, Aug 16, 2013 at 10:28 PM, Aaron Bedra wrote:<br>
> I'm looking for a way to make sure a handler only fires once.<br>
<br>
</div>If your handler is possible to run multiple times for the same request<br>
(like the post_subrequest handlers) and you want to avoid that, you<br>
can just use a module ctx field to serve as a flag for that. For<br>
example,<br>
<br>
    ctx = ngx_http_get_module_ctx(r, ngx_http_foo_module);<br>
    if (ctx == NULL) {<br>
        /* create ctx here and ctx->already_run should be initialized to 0 */<br>
    }<br>
<br>
    if (ctx->already_run) {<br>
        return NGX_DONE;<br>
    }<br>
    /* first time */<br>
    ctx->already_run = 1;<br>
<br>
    /* process normally */<br>
<br>
Regards,<br>
-agentzh<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</div></div></blockquote></div><br></div>