Request-app link introduced to prevent mp destroy for penging requests.

nxt_req_conn_link_t still used for lookup connection by request id.
New nxt_req_app_link_t (ra) allocated from conn->mem_pool using mp_retain().
ra stored in app->requests if there is no free worker to process request.
This commit is contained in:
Max Romanov
2017-07-18 00:21:28 +03:00
parent 31e5992f88
commit 6b6fefa497
4 changed files with 305 additions and 128 deletions

View File

@@ -189,11 +189,8 @@ typedef struct {
nxt_req_id_t req_id;
nxt_conn_t *conn;
nxt_port_t *app_port;
nxt_port_t *reply_port;
nxt_app_parse_ctx_t *ap;
nxt_queue_link_t link; /* for nxt_conn_t.requests */
nxt_queue_link_t app_link; /* for nxt_app_t.requests */
} nxt_req_conn_link_t;