aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_scgi_module.c
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-12-22 12:59:02 +0300
committerValentin Bartenev <vbart@nginx.com>2014-12-22 12:59:02 +0300
commitc40a72761c909aca80fb27d9df12fa3043afbaa2 (patch)
tree9bb116b484cfebd8723f51442dc6eb5f867885d9 /src/http/modules/ngx_http_scgi_module.c
parent66dcbab7a13bc0cf5212aebd662dcb23cec8808d (diff)
downloadnginx-c40a72761c909aca80fb27d9df12fa3043afbaa2.tar.gz
nginx-c40a72761c909aca80fb27d9df12fa3043afbaa2.zip
Upstream: refactored proxy_cache and friends.
The configuration handling code has changed to look similar to the proxy_store directive and friends. This simplifies adding variable support in the following patch. No functional changes.
Diffstat (limited to 'src/http/modules/ngx_http_scgi_module.c')
-rw-r--r--src/http/modules/ngx_http_scgi_module.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/http/modules/ngx_http_scgi_module.c b/src/http/modules/ngx_http_scgi_module.c
index fed916ace..845fcb4bb 100644
--- a/src/http/modules/ngx_http_scgi_module.c
+++ b/src/http/modules/ngx_http_scgi_module.c
@@ -1148,7 +1148,7 @@ ngx_http_scgi_create_loc_conf(ngx_conf_t *cf)
conf->upstream.pass_request_body = NGX_CONF_UNSET;
#if (NGX_HTTP_CACHE)
- conf->upstream.cache = NGX_CONF_UNSET_PTR;
+ conf->upstream.cache = NGX_CONF_UNSET;
conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
@@ -1189,12 +1189,10 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
#if (NGX_HTTP_CACHE)
if (conf->upstream.store > 0) {
- conf->upstream.cache = NULL;
+ conf->upstream.cache = 0;
}
- if (conf->upstream.cache != NGX_CONF_UNSET_PTR
- && conf->upstream.cache != NULL)
- {
+ if (conf->upstream.cache > 0) {
conf->upstream.store = 0;
}
@@ -1366,13 +1364,17 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
#if (NGX_HTTP_CACHE)
- ngx_conf_merge_ptr_value(conf->upstream.cache,
- prev->upstream.cache, NULL);
+ if (conf->upstream.cache == NGX_CONF_UNSET) {
+ ngx_conf_merge_value(conf->upstream.cache,
+ prev->upstream.cache, 0);
+
+ conf->upstream.cache_zone = prev->upstream.cache_zone;
+ }
- if (conf->upstream.cache && conf->upstream.cache->data == NULL) {
+ if (conf->upstream.cache_zone && conf->upstream.cache_zone->data == NULL) {
ngx_shm_zone_t *shm_zone;
- shm_zone = conf->upstream.cache;
+ shm_zone = conf->upstream.cache_zone;
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
"\"scgi_cache\" zone \"%V\" is unknown",
@@ -1784,13 +1786,9 @@ ngx_http_scgi_store(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
}
#if (NGX_HTTP_CACHE)
-
- if (scf->upstream.cache != NGX_CONF_UNSET_PTR
- && scf->upstream.cache != NULL)
- {
+ if (scf->upstream.cache > 0) {
return "is incompatible with \"scgi_cache\"";
}
-
#endif
scf->upstream.store = 1;
@@ -1831,12 +1829,12 @@ ngx_http_scgi_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
value = cf->args->elts;
- if (scf->upstream.cache != NGX_CONF_UNSET_PTR) {
+ if (scf->upstream.cache != NGX_CONF_UNSET) {
return "is duplicate";
}
if (ngx_strcmp(value[1].data, "off") == 0) {
- scf->upstream.cache = NULL;
+ scf->upstream.cache = 0;
return NGX_CONF_OK;
}
@@ -1844,9 +1842,11 @@ ngx_http_scgi_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return "is incompatible with \"scgi_store\"";
}
- scf->upstream.cache = ngx_shared_memory_add(cf, &value[1], 0,
- &ngx_http_scgi_module);
- if (scf->upstream.cache == NULL) {
+ scf->upstream.cache = 1;
+
+ scf->upstream.cache_zone = ngx_shared_memory_add(cf, &value[1], 0,
+ &ngx_http_scgi_module);
+ if (scf->upstream.cache_zone == NULL) {
return NGX_CONF_ERROR;
}