Commit c4458cb5 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

log: don't close STDERR

reopen_fd_as closes old descriptor.
Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 492da1c3
...@@ -30,7 +30,7 @@ int log_get_fd(void) ...@@ -30,7 +30,7 @@ int log_get_fd(void)
int log_init(const char *output) int log_init(const char *output)
{ {
int new_logfd = DEFAULT_LOGFD, sfd; int new_logfd, sfd;
sfd = get_service_fd(LOG_FD_OFF); sfd = get_service_fd(LOG_FD_OFF);
if (sfd < 0) { if (sfd < 0) {
...@@ -44,9 +44,16 @@ int log_init(const char *output) ...@@ -44,9 +44,16 @@ int log_init(const char *output)
pr_perror("Can't create log file %s", output); pr_perror("Can't create log file %s", output);
return -1; return -1;
} }
}
if (reopen_fd_as(sfd, new_logfd) < 0) if (reopen_fd_as(sfd, new_logfd) < 0)
goto err;
} else {
new_logfd = dup2(DEFAULT_LOGFD, sfd);
if (new_logfd < 0) {
pr_perror("Dup %d -> %d failed", DEFAULT_LOGFD, sfd);
goto err;
}
}
current_logfd = sfd; current_logfd = sfd;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment