summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r--src/nxt_router.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index 509f487a..566e0c65 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -3540,9 +3540,14 @@ nxt_router_response_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
nxt_buf_chain_add(&r->out, b);
}
+ nxt_http_request_header_send(task, r);
+
r->state = &nxt_http_request_send_state;
- nxt_http_request_header_send(task, r);
+ if (r->out) {
+ nxt_work_queue_add(&task->thread->engine->fast_work_queue,
+ nxt_http_request_send_body, task, r, NULL);
+ }
}
return;
@@ -3558,7 +3563,6 @@ fail:
static const nxt_http_request_state_t nxt_http_request_send_state
nxt_aligned(64) =
{
- .ready_handler = nxt_http_request_send_body,
.error_handler = nxt_http_request_error_handler,
};