[nginx] Core: fixed stderr redirection on win32 in ngx_reopen_fi...
Homutov Vladimir
vl at nginx.com
Tue Jun 4 15:32:20 UTC 2013
details: http://hg.nginx.org/nginx/rev/85e72ea8fbfd
branches:
changeset: 5239:85e72ea8fbfd
user: Vladimir Homutov <vl at nginx.com>
date: Mon Jun 03 16:54:28 2013 +0400
description:
Core: fixed stderr redirection on win32 in ngx_reopen_files().
On win32 stderr was not redirected into a file specified by "error_log"
while reopening files. Fix is to use platform-independent functions to
work with stderr, as already used by ngx_init_cycle() and main() since
rev. d8316f307b6a.
diffstat:
src/core/ngx_cycle.c | 11 ++++-------
1 files changed, 4 insertions(+), 7 deletions(-)
diffs (24 lines):
diff -r a15e2ef8d73d -r 85e72ea8fbfd src/core/ngx_cycle.c
--- a/src/core/ngx_cycle.c Tue Jun 04 17:21:52 2013 +0400
+++ b/src/core/ngx_cycle.c Mon Jun 03 16:54:28 2013 +0400
@@ -1228,16 +1228,13 @@ ngx_reopen_files(ngx_cycle_t *cycle, ngx
file[i].fd = fd;
}
-#if !(NGX_WIN32)
+ if (cycle->log->file->fd != ngx_stderr) {
- if (cycle->log->file->fd != STDERR_FILENO) {
- if (dup2(cycle->log->file->fd, STDERR_FILENO) == -1) {
- ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
- "dup2(STDERR) failed");
+ if (ngx_set_stderr(cycle->log->file->fd) == NGX_FILE_ERROR) {
+ ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
+ ngx_set_stderr_n " failed");
}
}
-
-#endif
}
More information about the nginx-devel
mailing list