Closing unsent file descriptors from port queue.

After a process exits, all ports linked to it from other processes
should be closed.  All unsent file descriptors in port queue, marked as
"close after send", should be closed to avoid resource leakage.
This commit is contained in:
Max Romanov
2020-05-28 12:40:49 +03:00
parent fa4d4b6120
commit 89b1e88f8f

View File

@@ -993,6 +993,12 @@ nxt_port_error_handler(nxt_task_t *task, void *obj, void *data)
nxt_queue_each(msg, &port->messages, nxt_port_send_msg_t, link) {
if (msg->fd != -1 && msg->close_fd != 0) {
nxt_fd_close(msg->fd);
msg->fd = -1;
}
for (b = msg->buf; b != NULL; b = next) {
next = b->next;
b->next = NULL;