aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_js.c
diff options
context:
space:
mode:
authorAlexander Borisov <alexander.borisov@nginx.com>2020-11-26 21:43:17 +0300
committerAlexander Borisov <alexander.borisov@nginx.com>2020-11-26 21:43:17 +0300
commiteb24b770caf868b5892f05080d07c8843ef134ae (patch)
treef406db8abc2960dc0bbd7522434f1be633a46cf2 /nginx/ngx_js.c
parent630764af9f128b0f6b3bf440276733b8d960e9c7 (diff)
downloadnjs-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.c6
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);
}