Fixed memory leak on response body sending failure.

This commit is contained in:
Igor Sysoev
2019-02-18 17:28:55 +03:00
parent 2a6b54c230
commit bb11e9036f
3 changed files with 4 additions and 3 deletions

View File

@@ -176,7 +176,6 @@ nxt_buf_t *nxt_http_buf_mem(nxt_task_t *task, nxt_http_request_t *r,
size_t size); size_t size);
nxt_buf_t *nxt_http_buf_last(nxt_http_request_t *r); nxt_buf_t *nxt_http_buf_last(nxt_http_request_t *r);
void nxt_http_request_error_handler(nxt_task_t *task, void *obj, void *data); void nxt_http_request_error_handler(nxt_task_t *task, void *obj, void *data);
void nxt_http_request_close_handler(nxt_task_t *task, void *obj, void *data);
nxt_int_t nxt_http_request_host(void *ctx, nxt_http_field_t *field, nxt_int_t nxt_http_request_host(void *ctx, nxt_http_field_t *field,
uintptr_t data); uintptr_t data);

View File

@@ -13,6 +13,8 @@ static void nxt_http_app_request(nxt_task_t *task, void *obj, void *data);
static void nxt_http_request_mem_buf_completion(nxt_task_t *task, void *obj, static void nxt_http_request_mem_buf_completion(nxt_task_t *task, void *obj,
void *data); void *data);
static void nxt_http_request_done(nxt_task_t *task, void *obj, void *data); static void nxt_http_request_done(nxt_task_t *task, void *obj, void *data);
static void nxt_http_request_close_handler(nxt_task_t *task, void *obj,
void *data);
static u_char *nxt_http_date(u_char *buf, nxt_realtime_t *now, struct tm *tm, static u_char *nxt_http_date(u_char *buf, nxt_realtime_t *now, struct tm *tm,
size_t size, const char *format); size_t size, const char *format);
@@ -449,7 +451,7 @@ nxt_http_request_error_handler(nxt_task_t *task, void *obj, void *data)
} }
void static void
nxt_http_request_close_handler(nxt_task_t *task, void *obj, void *data) nxt_http_request_close_handler(nxt_task_t *task, void *obj, void *data)
{ {
nxt_http_proto_t proto; nxt_http_proto_t proto;

View File

@@ -3500,7 +3500,7 @@ static const nxt_http_request_state_t nxt_http_request_send_state
nxt_aligned(64) = nxt_aligned(64) =
{ {
.ready_handler = nxt_http_request_send_body, .ready_handler = nxt_http_request_send_body,
.error_handler = nxt_http_request_close_handler, .error_handler = nxt_http_request_error_handler,
}; };