diff src/event/ngx_event_openssl.c @ 993:1b9a4d92173f

pass the inherited shm_zone data
author Igor Sysoev <igor@sysoev.ru>
date Tue, 09 Jan 2007 15:59:20 +0000
parents 5595e47d4f17
children 7dd987e09701
line wrap: on
line diff
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -23,7 +23,8 @@ static void ngx_ssl_shutdown_handler(ngx
 static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr,
     ngx_err_t err, char *text);
 
-static ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone);
+static ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone,
+    void *data);
 static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn,
     ngx_ssl_session_t *sess);
 static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn,
@@ -1184,12 +1185,17 @@ ngx_ssl_session_cache(ngx_ssl_t *ssl, ng
 
 
 static ngx_int_t
-ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone)
+ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data)
 {
     ngx_slab_pool_t          *shpool;
     ngx_rbtree_node_t        *sentinel;
     ngx_ssl_session_cache_t  *cache;
 
+    if (data) {
+        shm_zone->data = data;
+        return NGX_OK;
+    }
+
     shpool = (ngx_slab_pool_t *) shm_zone->shm.addr;
 
     cache = ngx_slab_alloc(shpool, sizeof(ngx_ssl_session_cache_t));