Subrequest without returning to nginx

Maxim Dounin mdounin at
Tue May 4 14:59:44 UTC 2021


On Tue, May 04, 2021 at 04:11:34PM +0200, Alfred Sawaya wrote:

> I am currently converting an Apache module to Nginx. This module uses
> subrequests and needs (for now) to execute the subrequest without
> unwinding the stack (ie without returning to nginx).
> I tried to call ngx_http_run_posted_requests by hand, but it does not
> work as the upstream socket needs to get polled some time.
> So I wonder, is there any way to do this ?

No.  Since nginx is event-driven, you essentially cannot do 
anything without returning control back to nginx to execute the 
event loop.

> Of course I know that I shouldn't do it like this, but the current
> module is not reentrant and poorly architectured. I will eventually
> refactor it but later.

You may want to start with throwing away the module, and writing 
another one for nginx from scratch.  "Converting" rarely works 
even for simple and well-written modules.

Maxim Dounin

More information about the nginx-devel mailing list