]> git.kaiwu.me - nginx.git/commitdiff
use malloc() in ngx_win32_rename_file, set crit level instead of error
authorIgor Sysoev <igor@sysoev.ru>
Fri, 7 Dec 2007 19:57:13 +0000 (19:57 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Fri, 7 Dec 2007 19:57:13 +0000 (19:57 +0000)
src/http/modules/ngx_http_dav_module.c
src/http/ngx_http_upstream.c
src/os/win32/ngx_files.c
src/os/win32/ngx_files.h

index 854627c7860ff454e4f824794e06c9bfbf884826..b9d01f391dc1eee3409fb461185e4e92b20b1d4b 100644 (file)
@@ -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;
index e51638b56bfd7926852662ac4aefd2a02b40efde..3d724992134710e70e0331a3e77baed2fcf59972 100644 (file)
@@ -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;
index e74dc52ea0b125be63e18715c8e17f98500cac6a..9e5feba0eb2b42404e8ee145705eb101c95dc33d 100644 (file)
@@ -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;
 }
 
index 560e91cdc894b6c5b464199040c6ecf978d012b1..799e0b0c479732aecaf60a36c09219943a183334 100644 (file)
@@ -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);