comparison 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
comparison
equal deleted inserted replaced
992:3f2e60adf4ef 993:1b9a4d92173f
21 static void ngx_ssl_read_handler(ngx_event_t *rev); 21 static void ngx_ssl_read_handler(ngx_event_t *rev);
22 static void ngx_ssl_shutdown_handler(ngx_event_t *ev); 22 static void ngx_ssl_shutdown_handler(ngx_event_t *ev);
23 static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, 23 static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr,
24 ngx_err_t err, char *text); 24 ngx_err_t err, char *text);
25 25
26 static ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone); 26 static ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone,
27 void *data);
27 static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn, 28 static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn,
28 ngx_ssl_session_t *sess); 29 ngx_ssl_session_t *sess);
29 static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn, 30 static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn,
30 u_char *id, int len, int *copy); 31 u_char *id, int len, int *copy);
31 static void ngx_ssl_remove_session(SSL_CTX *ssl, ngx_ssl_session_t *sess); 32 static void ngx_ssl_remove_session(SSL_CTX *ssl, ngx_ssl_session_t *sess);
1182 return NGX_OK; 1183 return NGX_OK;
1183 } 1184 }
1184 1185
1185 1186
1186 static ngx_int_t 1187 static ngx_int_t
1187 ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone) 1188 ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data)
1188 { 1189 {
1189 ngx_slab_pool_t *shpool; 1190 ngx_slab_pool_t *shpool;
1190 ngx_rbtree_node_t *sentinel; 1191 ngx_rbtree_node_t *sentinel;
1191 ngx_ssl_session_cache_t *cache; 1192 ngx_ssl_session_cache_t *cache;
1193
1194 if (data) {
1195 shm_zone->data = data;
1196 return NGX_OK;
1197 }
1192 1198
1193 shpool = (ngx_slab_pool_t *) shm_zone->shm.addr; 1199 shpool = (ngx_slab_pool_t *) shm_zone->shm.addr;
1194 1200
1195 cache = ngx_slab_alloc(shpool, sizeof(ngx_ssl_session_cache_t)); 1201 cache = ngx_slab_alloc(shpool, sizeof(ngx_ssl_session_cache_t));
1196 if (cache == NULL) { 1202 if (cache == NULL) {