summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2019-03-05 15:38:48 +0300
committerMax Romanov <max.romanov@nginx.com>2019-03-05 15:38:48 +0300
commitaedb999fe19d47ca0faf91752d7be4b227c51021 (patch)
treee10f17a58a4171621d7c976a6b0f6c9aaf9de5e1 /src
parentf3a0d95d093569f80552878560457d3addfc4b01 (diff)
downloadunit-aedb999fe19d47ca0faf91752d7be4b227c51021.tar.gz
unit-aedb999fe19d47ca0faf91752d7be4b227c51021.tar.bz2
Including port message header into message size limit.
Before this fix, large plain message (i.e. configuration) send may fail with the 'Message too big' error, because internal fragmentation implementation does not account for 16 byte message header. This closes #167 issue on GitHub.
Diffstat (limited to 'src')
-rw-r--r--src/nxt_port_socket.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nxt_port_socket.c b/src/nxt_port_socket.c
index 01fe2dab..8694ef65 100644
--- a/src/nxt_port_socket.c
+++ b/src/nxt_port_socket.c
@@ -349,6 +349,8 @@ nxt_port_write_handler(nxt_task_t *task, void *obj, void *data)
iov[0].iov_len += sizeof(msg->tracking_msg);
}
+ sb.limit -= iov[0].iov_len;
+
nxt_sendbuf_mem_coalesce(task, &sb);
plain_size = sb.size;