diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-04-14 09:53:38 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-04-14 09:53:38 +0000 |
commit | 8a2b2fb4fbd1801a5fb70d86384f2c6fd13c32c3 (patch) | |
tree | c0f7531cdc57da852f65d2d02bf11888bba63fe6 /src/core | |
parent | 2b1b55d025e0444978e1fcf4580217eb391860e0 (diff) | |
download | nginx-release-0.3.38.tar.gz nginx-release-0.3.38.zip |
nginx-0.3.38-RELEASE importrelease-0.3.38
*) Feature: the ngx_http_dav_module.
*) Change: the ngx_http_perl_module optimizations.
Thanks to Sergey Skvortsov.
*) Feature: the ngx_http_perl_module supports the $r->request_body_file
method.
*) Feature: the "client_body_in_file_only" directive.
*) Workaround: now on disk overflow nginx tries to write access logs
once a second only.
Thanks to Anton Yuzhaninov and Maxim Dounin.
*) Bugfix: now the "limit_rate" directive more precisely limits rate if
rate is more than 100 Kbyte/s.
Thanks to ForJest.
*) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in
login and password to pass authorization server.
Thanks to Maxim Dounin.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/nginx.c | 4 | ||||
-rw-r--r-- | src/core/nginx.h | 2 | ||||
-rw-r--r-- | src/core/ngx_file.c | 10 | ||||
-rw-r--r-- | src/core/ngx_file.h | 4 |
4 files changed, 9 insertions, 11 deletions
diff --git a/src/core/nginx.c b/src/core/nginx.c index 64f801205..12a2b8a25 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -426,7 +426,7 @@ ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv) ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); - if (ngx_rename_file((char *) ccf->pid.data, (char *) ccf->oldpid.data) + if (ngx_rename_file(ccf->pid.data, ccf->oldpid.data) != NGX_OK) { ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, @@ -442,7 +442,7 @@ ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv) pid = ngx_execute(cycle, &ctx); if (pid == NGX_INVALID_PID) { - if (ngx_rename_file((char *) ccf->oldpid.data, (char *) ccf->pid.data) + if (ngx_rename_file(ccf->oldpid.data, ccf->pid.data) != NGX_OK) { ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, diff --git a/src/core/nginx.h b/src/core/nginx.h index 06e46c0c6..f47c36ae2 100644 --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VER "nginx/0.3.37" +#define NGINX_VER "nginx/0.3.38" #define NGINX_VAR "NGINX" #define NGX_OLDPID_EXT ".oldbin" diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c index e3e719022..0a2c37190 100644 --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -19,7 +19,7 @@ ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain) if (tf->file.fd == NGX_INVALID_FILE) { rc = ngx_create_temp_file(&tf->file, tf->path, tf->pool, - tf->persistent); + tf->persistent, tf->mode); if (rc == NGX_ERROR || rc == NGX_AGAIN) { return rc; @@ -36,7 +36,7 @@ ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain) ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool, - ngx_uint_t persistent) + ngx_uint_t persistent, ngx_uint_t mode) { ngx_err_t err; ngx_atomic_uint_t n; @@ -71,11 +71,7 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool, return NGX_ERROR; } -#if 1 - file->fd = ngx_open_tempfile(file->name.data, persistent); -#else - file->fd = ngx_open_tempfile(file->name.data, 1); -#endif + file->fd = ngx_open_tempfile(file->name.data, persistent, mode); ngx_log_debug1(NGX_LOG_DEBUG_CORE, file->log, 0, "temp fd:%d", file->fd); diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h index 52c1ae22d..488c10ad6 100644 --- a/src/core/ngx_file.h +++ b/src/core/ngx_file.h @@ -49,13 +49,15 @@ typedef struct { ngx_pool_t *pool; char *warn; + ngx_uint_t mode; + unsigned persistent:1; } ngx_temp_file_t; ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain); ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, - ngx_pool_t *pool, ngx_uint_t persistent); + ngx_pool_t *pool, ngx_uint_t persistent,ngx_uint_t mode); void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path); ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path); ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot); |