diff options
-rw-r--r-- | src/nxt_port.h | 1 | ||||
-rw-r--r-- | src/nxt_port_socket.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/nxt_port.h b/src/nxt_port.h index 458aca17..66534cdc 100644 --- a/src/nxt_port.h +++ b/src/nxt_port.h @@ -36,6 +36,7 @@ typedef struct { typedef struct { nxt_queue_link_t link; nxt_buf_t *buf; + nxt_mp_t *mem_pool; size_t share; nxt_fd_t fd; nxt_port_msg_t port_msg; diff --git a/src/nxt_port_socket.c b/src/nxt_port_socket.c index 71ee315e..2a3a6594 100644 --- a/src/nxt_port_socket.c +++ b/src/nxt_port_socket.c @@ -167,6 +167,7 @@ nxt_port_socket_write(nxt_task_t *task, nxt_port_t *port, nxt_uint_t type, msg->buf = b; msg->fd = fd; msg->share = 0; + msg->mem_pool = port->mem_pool; msg->port_msg.stream = stream; msg->port_msg.pid = nxt_pid; @@ -289,7 +290,7 @@ nxt_port_write_handler(nxt_task_t *task, void *obj, void *data) } else { nxt_queue_remove(link); - nxt_mp_free(port->mem_pool, msg); + nxt_mp_free(msg->mem_pool, msg); } } else if (nxt_slow_path(n == NXT_ERROR)) { |