diff options
author | Max Romanov <max.romanov@nginx.com> | 2020-10-28 00:01:46 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2020-10-28 00:01:46 +0300 |
commit | 131b6a7ffab7b3303a00a50f5cf764dc99e23cc0 (patch) | |
tree | e777aa0674cd2c74bf742e887c06d31e654068a3 /src | |
parent | a5508cec7a55fe04ab66451c7510fab0e0d4577c (diff) | |
download | unit-131b6a7ffab7b3303a00a50f5cf764dc99e23cc0.tar.gz unit-131b6a7ffab7b3303a00a50f5cf764dc99e23cc0.tar.bz2 |
Libunit: releasing cached read buffers when destroying context.
Diffstat (limited to '')
-rw-r--r-- | src/nxt_unit.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nxt_unit.c b/src/nxt_unit.c index 6a0657c6..7d2bf2c7 100644 --- a/src/nxt_unit.c +++ b/src/nxt_unit.c @@ -5023,6 +5023,7 @@ nxt_unit_ctx_free(nxt_unit_ctx_impl_t *ctx_impl) { nxt_unit_impl_t *lib; nxt_unit_mmap_buf_t *mmap_buf; + nxt_unit_read_buf_t *rbuf; nxt_unit_request_info_impl_t *req_impl; nxt_unit_websocket_frame_impl_t *ws_impl; @@ -5060,6 +5061,13 @@ nxt_unit_ctx_free(nxt_unit_ctx_impl_t *ctx_impl) } nxt_queue_loop; + nxt_queue_each(rbuf, &ctx_impl->free_rbuf, nxt_unit_read_buf_t, link) + { + if (rbuf != &ctx_impl->ctx_read_buf) { + nxt_unit_free(&ctx_impl->ctx, rbuf); + } + } nxt_queue_loop; + pthread_mutex_destroy(&ctx_impl->mutex); pthread_mutex_lock(&lib->mutex); |