Mercurial > hg > nginx
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) { |