use malloc() in ngx_win32_rename_file, set crit level instead of error
Igor Sysoev
14 years ago
294 | 294 |
#if (NGX_WIN32)
|
295 | 295 |
|
296 | 296 |
if (err == NGX_EEXIST) {
|
297 | |
if (ngx_win32_rename_file(temp, &path, r->pool) != NGX_ERROR) {
|
|
297 |
if (ngx_win32_rename_file(temp, &path, r->connection->log) == NGX_OK) {
|
298 | 298 |
|
299 | 299 |
if (ngx_rename_file(temp->data, path.data) != NGX_FILE_ERROR) {
|
300 | 300 |
goto ok;
|
2223 | 2223 |
#if (NGX_WIN32)
|
2224 | 2224 |
|
2225 | 2225 |
if (err == NGX_EEXIST) {
|
2226 | |
if (ngx_win32_rename_file(temp, &path, r->pool) != NGX_ERROR) {
|
|
2226 |
if (ngx_win32_rename_file(temp, &path, r->connection->log) == NGX_OK) {
|
2227 | 2227 |
|
2228 | 2228 |
if (ngx_rename_file(temp->data, path.data) != NGX_FILE_ERROR) {
|
2229 | 2229 |
return;
|
200 | 200 |
|
201 | 201 |
|
202 | 202 |
ngx_int_t
|
203 | |
ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool)
|
|
203 |
ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log)
|
204 | 204 |
{
|
205 | 205 |
u_char *name;
|
206 | 206 |
ngx_int_t rc;
|
207 | 207 |
ngx_uint_t collision;
|
208 | 208 |
ngx_atomic_uint_t num;
|
209 | 209 |
|
210 | |
name = ngx_palloc(pool, to->len + 1 + 10 + 1 + sizeof("DELETE"));
|
|
210 |
name = ngx_alloc(to->len + 1 + 10 + 1 + sizeof("DELETE"), log);
|
211 | 211 |
if (name == NULL) {
|
212 | 212 |
return NGX_ERROR;
|
213 | 213 |
}
|
|
229 | 229 |
|
230 | 230 |
collision = 1;
|
231 | 231 |
|
232 | |
ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed");
|
|
232 |
ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed");
|
233 | 233 |
}
|
234 | 234 |
|
235 | 235 |
if (MoveFile((const char *) from->data, (const char *) to->data) == 0) {
|
|
240 | 240 |
}
|
241 | 241 |
|
242 | 242 |
if (DeleteFile((const char *) name) == 0) {
|
243 | |
ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "DeleteFile() failed");
|
|
243 |
ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "DeleteFile() failed");
|
244 | 244 |
}
|
245 | 245 |
|
246 | 246 |
if (rc == NGX_ERROR) {
|
247 | |
ngx_log_error(NGX_LOG_ERR, pool->log, ngx_errno, "MoveFile() failed");
|
|
247 |
ngx_log_error(NGX_LOG_CRIT, log, ngx_errno, "MoveFile() failed");
|
248 | 248 |
}
|
249 | 249 |
|
250 | 250 |
/* mutex_unlock() */
|
|
251 |
|
|
252 |
ngx_free(name);
|
251 | 253 |
|
252 | 254 |
return rc;
|
253 | 255 |
}
|
85 | 85 |
|
86 | 86 |
#define ngx_rename_file(o, n) MoveFile((const char *) o, (const char *) n)
|
87 | 87 |
#define ngx_rename_file_n "MoveFile()"
|
88 | |
ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to,
|
89 | |
ngx_pool_t *pool);
|
|
88 |
ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log);
|
90 | 89 |
|
91 | 90 |
|
92 | 91 |
|