# HG changeset patch # User Vladimir Homutov # Date 1433844045 -10800 # Node ID 68c106e6fa0a0b8b9cdaa0ada6a43d54fb8c850a # Parent 1729d8d3eb3acbb79b1b0c1d60b411aacc4f8461 Stream: added postconfiguration method to stream modules. diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream.c --- a/src/stream/ngx_stream.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream.c Tue Jun 09 13:00:45 2015 +0300 @@ -204,6 +204,20 @@ } } + for (m = 0; ngx_modules[m]; m++) { + if (ngx_modules[m]->type != NGX_STREAM_MODULE) { + continue; + } + + module = ngx_modules[m]->ctx; + + if (module->postconfiguration) { + if (module->postconfiguration(cf) != NGX_OK) { + return NGX_CONF_ERROR; + } + } + } + *cf = pcf; diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream.h --- a/src/stream/ngx_stream.h Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream.h Tue Jun 09 13:00:45 2015 +0300 @@ -148,6 +148,8 @@ typedef struct { + ngx_int_t (*postconfiguration)(ngx_conf_t *cf); + void *(*create_main_conf)(ngx_conf_t *cf); char *(*init_main_conf)(ngx_conf_t *cf, void *conf); diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_core_module.c --- a/src/stream/ngx_stream_core_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_core_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -50,6 +50,8 @@ static ngx_stream_module_t ngx_stream_core_module_ctx = { + NULL, /* postconfiguration */ + ngx_stream_core_create_main_conf, /* create main configuration */ NULL, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_proxy_module.c --- a/src/stream/ngx_stream_proxy_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_proxy_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -246,6 +246,8 @@ static ngx_stream_module_t ngx_stream_proxy_module_ctx = { + NULL, /* postconfiguration */ + NULL, /* create main configuration */ NULL, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_ssl_module.c --- a/src/stream/ngx_stream_ssl_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_ssl_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -132,6 +132,8 @@ static ngx_stream_module_t ngx_stream_ssl_module_ctx = { + NULL, /* postconfiguration */ + NULL, /* create main configuration */ NULL, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_upstream.c --- a/src/stream/ngx_stream_upstream.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_upstream.c Tue Jun 09 13:00:45 2015 +0300 @@ -39,6 +39,8 @@ static ngx_stream_module_t ngx_stream_upstream_module_ctx = { + NULL, /* postconfiguration */ + ngx_stream_upstream_create_main_conf, /* create main configuration */ ngx_stream_upstream_init_main_conf, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_upstream_hash_module.c --- a/src/stream/ngx_stream_upstream_hash_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_upstream_hash_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -76,6 +76,8 @@ static ngx_stream_module_t ngx_stream_upstream_hash_module_ctx = { + NULL, /* postconfiguration */ + NULL, /* create main configuration */ NULL, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_upstream_least_conn_module.c --- a/src/stream/ngx_stream_upstream_least_conn_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_upstream_least_conn_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -32,6 +32,8 @@ static ngx_stream_module_t ngx_stream_upstream_least_conn_module_ctx = { + NULL, /* postconfiguration */ + NULL, /* create main configuration */ NULL, /* init main configuration */ diff -r 1729d8d3eb3a -r 68c106e6fa0a src/stream/ngx_stream_upstream_zone_module.c --- a/src/stream/ngx_stream_upstream_zone_module.c Mon Jun 08 23:13:56 2015 +0300 +++ b/src/stream/ngx_stream_upstream_zone_module.c Tue Jun 09 13:00:45 2015 +0300 @@ -32,6 +32,8 @@ static ngx_stream_module_t ngx_stream_upstream_zone_module_ctx = { + NULL, /* postconfiguration */ + NULL, /* create main configuration */ NULL, /* init main configuration */