Fixing request_app_link reference counting.

Racing conditions reproduced periodically on test_python_process_switch.
This commit is contained in:
Max Romanov
2020-07-23 14:25:46 +03:00
parent 9641fb0ef1
commit 762511c510

View File

@@ -731,9 +731,7 @@ nxt_request_app_link_release_handler(nxt_task_t *task, void *obj, void *data)
nxt_assert(req_app_link->work.data == data); nxt_assert(req_app_link->work.data == data);
nxt_atomic_fetch_add(&req_app_link->use_count, -1); nxt_request_app_link_use(task, req_app_link, -1);
nxt_request_app_link_release(task, req_app_link);
} }
@@ -4695,7 +4693,7 @@ nxt_router_port_select(nxt_task_t *task, nxt_port_select_state_t *state)
&req_app_link->link_app_requests); &req_app_link->link_app_requests);
} }
ra_use_delta++; nxt_request_app_link_inc_use(req_app_link);
nxt_debug(task, "req_app_link stream #%uD enqueue to app->requests", nxt_debug(task, "req_app_link stream #%uD enqueue to app->requests",
req_app_link->stream); req_app_link->stream);