Fixed descriptors leak on process creation.

The leak has been introduced in 325b315e48c4.
This closes #322 issue in GitHub.
This commit is contained in:
Valentin Bartenev
2019-09-26 16:03:01 +03:00
parent d82f125368
commit 9c06bfdf2c

View File

@@ -166,6 +166,14 @@ nxt_process_create(nxt_task_t *task, nxt_process_t *process)
init->name, nxt_errno); init->name, nxt_errno);
#endif #endif
if (nxt_slow_path(close(pipefd[0]) != 0)) {
nxt_alert(task, "failed to close pipe: %E", nxt_errno);
}
if (nxt_slow_path(close(pipefd[1]) != 0)) {
nxt_alert(task, "failed to close pipe: %E", nxt_errno);
}
return pid; return pid;
} }
@@ -230,6 +238,10 @@ nxt_process_create(nxt_task_t *task, nxt_process_t *process)
goto fail_cleanup; goto fail_cleanup;
} }
if (nxt_slow_path(close(pipefd[1]) != 0)) {
nxt_alert(task, "failed to close pipe: %E", nxt_errno);
}
process->pid = pid; process->pid = pid;
nxt_runtime_process_add(task, process); nxt_runtime_process_add(task, process);