changeset 6174:68c106e6fa0a

Stream: added postconfiguration method to stream modules.
author Vladimir Homutov <vl@nginx.com>
date Tue, 09 Jun 2015 13:00:45 +0300
parents 1729d8d3eb3a
children 8807a2369b1a
files src/stream/ngx_stream.c src/stream/ngx_stream.h src/stream/ngx_stream_core_module.c src/stream/ngx_stream_proxy_module.c src/stream/ngx_stream_ssl_module.c src/stream/ngx_stream_upstream.c src/stream/ngx_stream_upstream_hash_module.c src/stream/ngx_stream_upstream_least_conn_module.c src/stream/ngx_stream_upstream_zone_module.c
diffstat 9 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/stream/ngx_stream.c
+++ b/src/stream/ngx_stream.c
@@ -204,6 +204,20 @@ ngx_stream_block(ngx_conf_t *cf, ngx_com
         }
     }
 
+    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;
 
 
--- a/src/stream/ngx_stream.h
+++ b/src/stream/ngx_stream.h
@@ -148,6 +148,8 @@ struct ngx_stream_session_s {
 
 
 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);
 
--- a/src/stream/ngx_stream_core_module.c
+++ b/src/stream/ngx_stream_core_module.c
@@ -50,6 +50,8 @@ static ngx_command_t  ngx_stream_core_co
 
 
 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 */
 
--- a/src/stream/ngx_stream_proxy_module.c
+++ b/src/stream/ngx_stream_proxy_module.c
@@ -246,6 +246,8 @@ static ngx_command_t  ngx_stream_proxy_c
 
 
 static ngx_stream_module_t  ngx_stream_proxy_module_ctx = {
+    NULL,                                  /* postconfiguration */
+
     NULL,                                  /* create main configuration */
     NULL,                                  /* init main configuration */
 
--- a/src/stream/ngx_stream_ssl_module.c
+++ b/src/stream/ngx_stream_ssl_module.c
@@ -132,6 +132,8 @@ static ngx_command_t  ngx_stream_ssl_com
 
 
 static ngx_stream_module_t  ngx_stream_ssl_module_ctx = {
+    NULL,                                  /* postconfiguration */
+
     NULL,                                  /* create main configuration */
     NULL,                                  /* init main configuration */
 
--- a/src/stream/ngx_stream_upstream.c
+++ b/src/stream/ngx_stream_upstream.c
@@ -39,6 +39,8 @@ static ngx_command_t  ngx_stream_upstrea
 
 
 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 */
 
--- a/src/stream/ngx_stream_upstream_hash_module.c
+++ b/src/stream/ngx_stream_upstream_hash_module.c
@@ -76,6 +76,8 @@ static ngx_command_t  ngx_stream_upstrea
 
 
 static ngx_stream_module_t  ngx_stream_upstream_hash_module_ctx = {
+    NULL,                                  /* postconfiguration */
+
     NULL,                                  /* create main configuration */
     NULL,                                  /* init main configuration */
 
--- a/src/stream/ngx_stream_upstream_least_conn_module.c
+++ b/src/stream/ngx_stream_upstream_least_conn_module.c
@@ -32,6 +32,8 @@ static ngx_command_t  ngx_stream_upstrea
 
 
 static ngx_stream_module_t  ngx_stream_upstream_least_conn_module_ctx = {
+    NULL,                                    /* postconfiguration */
+
     NULL,                                    /* create main configuration */
     NULL,                                    /* init main configuration */
 
--- a/src/stream/ngx_stream_upstream_zone_module.c
+++ b/src/stream/ngx_stream_upstream_zone_module.c
@@ -32,6 +32,8 @@ static ngx_command_t  ngx_stream_upstrea
 
 
 static ngx_stream_module_t  ngx_stream_upstream_zone_module_ctx = {
+    NULL,                                  /* postconfiguration */
+
     NULL,                                  /* create main configuration */
     NULL,                                  /* init main configuration */