summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2018-04-05 17:20:26 +0300
committerMax Romanov <max.romanov@nginx.com>2018-04-05 17:20:26 +0300
commit2f3b9d458328c7c96f91259c1892810c16cbccdd (patch)
tree02f9b4e73a698556f80f2eb0940f79544e89036e /src/nxt_router.c
parentd748f74f2b68c6c36d4d41cd39223e842e2a3441 (diff)
downloadunit-2f3b9d458328c7c96f91259c1892810c16cbccdd.tar.gz
unit-2f3b9d458328c7c96f91259c1892810c16cbccdd.tar.bz2
Handling error return from application 'run()' function.
Server error response generated or connection closed.
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r--src/nxt_router.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index 5b638ed0..947f7235 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -2268,8 +2268,9 @@ nxt_router_engine_post(nxt_event_engine_t *engine, nxt_work_t *jobs)
static nxt_port_handlers_t nxt_router_app_port_handlers = {
- .mmap = nxt_port_mmap_handler,
- .data = nxt_port_rpc_handler,
+ .rpc_error = nxt_port_rpc_handler,
+ .mmap = nxt_port_mmap_handler,
+ .data = nxt_port_rpc_handler,
};
@@ -2808,7 +2809,10 @@ nxt_router_response_error_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
}
}
- nxt_http_request_error(task, rc->ap->request, NXT_HTTP_SERVICE_UNAVAILABLE);
+ if (rc->ap != NULL) {
+ nxt_http_request_error(task, rc->ap->request,
+ NXT_HTTP_SERVICE_UNAVAILABLE);
+ }
nxt_router_rc_unlink(task, rc);
}