summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-12-07 19:57:13 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-12-07 19:57:13 +0000
commit27dd6a62bd76983e6bdc5c45e108aae816fac761 (patch)
tree105c6ba178513b23dbd41fbb561d42853411ee9f /src
parent03df86a54127aa6ed1c17abb2bae81da5f9deda5 (diff)
downloadnginx-27dd6a62bd76983e6bdc5c45e108aae816fac761.tar.gz
nginx-27dd6a62bd76983e6bdc5c45e108aae816fac761.tar.bz2
use malloc() in ngx_win32_rename_file, set crit level instead of error
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/ngx_http_dav_module.c2
-rw-r--r--src/http/ngx_http_upstream.c2
-rw-r--r--src/os/win32/ngx_files.c12
-rw-r--r--src/os/win32/ngx_files.h3
4 files changed, 10 insertions, 9 deletions
diff --git a/src/http/modules/ngx_http_dav_module.c b/src/http/modules/ngx_http_dav_module.c
index 854627c78..b9d01f391 100644
--- a/src/http/modules/ngx_http_dav_module.c
+++ b/src/http/modules/ngx_http_dav_module.c
@@ -295,7 +295,7 @@ ngx_http_dav_put_handler(ngx_http_request_t *r)
#if (NGX_WIN32)
if (err == NGX_EEXIST) {
- if (ngx_win32_rename_file(temp, &path, r->pool) != NGX_ERROR) {
+ if (ngx_win32_rename_file(temp, &path, r->connection->log) == NGX_OK) {
if (ngx_rename_file(temp->data, path.data) != NGX_FILE_ERROR) {
goto ok;
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index e51638b56..3d7249921 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -2224,7 +2224,7 @@ ngx_http_upstream_store(ngx_http_request_t *r, ngx_http_upstream_t *u)
#if (NGX_WIN32)
if (err == NGX_EEXIST) {
- if (ngx_win32_rename_file(temp, &path, r->pool) != NGX_ERROR) {
+ if (ngx_win32_rename_file(temp, &path, r->connection->log) == NGX_OK) {
if (ngx_rename_file(temp->data, path.data) != NGX_FILE_ERROR) {
return;
diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c
index e74dc52ea..9e5feba0e 100644
--- a/src/os/win32/ngx_files.c
+++ b/src/os/win32/ngx_files.c
@@ -201,14 +201,14 @@ ngx_write_fd(ngx_fd_t fd, void *buf, size_t size)
ngx_int_t
-ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool)
+ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log)
{
u_char *name;
ngx_int_t rc;
ngx_uint_t collision;
ngx_atomic_uint_t num;
- name = ngx_palloc(pool, to->len + 1 + 10 + 1 + sizeof("DELETE"));
+ name = ngx_alloc(to->len + 1 + 10 + 1 + sizeof("DELETE"), log);
if (name == NULL) {
return NGX_ERROR;
}
@@ -230,7 +230,7 @@ ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool)
collision = 1;
- ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed");
+ ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed");
}
if (MoveFile((const char *) from->data, (const char *) to->data) == 0) {
@@ -241,15 +241,17 @@ ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool)
}
if (DeleteFile((const char *) name) == 0) {
- ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "DeleteFile() failed");
+ ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "DeleteFile() failed");
}
if (rc == NGX_ERROR) {
- ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed");
+ ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed");
}
/* mutex_unlock() */
+ ngx_free(name);
+
return rc;
}
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index 560e91cdc..799e0b0c4 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -86,8 +86,7 @@ ssize_t ngx_write_fd(ngx_fd_t fd, void *buf, size_t size);
#define ngx_rename_file(o, n) MoveFile((const char *) o, (const char *) n)
#define ngx_rename_file_n "MoveFile()"
-ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to,
- ngx_pool_t *pool);
+ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log);