diff options
author | Alexander Borisov <alexander.borisov@nginx.com> | 2020-11-26 21:43:17 +0300 |
---|---|---|
committer | Alexander Borisov <alexander.borisov@nginx.com> | 2020-11-26 21:43:17 +0300 |
commit | eb24b770caf868b5892f05080d07c8843ef134ae (patch) | |
tree | f406db8abc2960dc0bbd7522434f1be633a46cf2 /nginx/ngx_js.c | |
parent | 630764af9f128b0f6b3bf440276733b8d960e9c7 (diff) | |
download | njs-eb24b770caf868b5892f05080d07c8843ef134ae.tar.gz njs-eb24b770caf868b5892f05080d07c8843ef134ae.zip |
Modules: fixed promise events handling.
Previously, promise chain might not be invoked at all in some cases.
Specifically, this happened in HTTP module if promise chain did not start
with a r.subrequest() invocation.
The fix is to always process all pending promise events after the main module
function.
This closes #359 issue on GitHub.
Diffstat (limited to 'nginx/ngx_js.c')
-rw-r--r-- | nginx/ngx_js.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 976f3b76..56b2bdd4 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -79,11 +79,7 @@ ngx_js_call(njs_vm_t *vm, ngx_str_t *fname, njs_opaque_value_t *value, return NGX_ERROR; } - if (njs_vm_pending(vm)) { - return NGX_AGAIN; - } - - return NGX_OK; + return njs_vm_run(vm); } |