Fixed descriptors leak on process creation.
The leak has been introduced in 325b315e48c4. This closes #322 issue in GitHub.
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user