allocate aligned ngx_crc32_table_short globally
diff --git a/src/core/nginx.c b/src/core/nginx.c index 83b088b..2de666a 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c
@@ -252,6 +252,12 @@ return 1; } + /* ngx_crc32_init() requires ngx_cacheline_size set in ngx_os_init() */ + + if (ngx_crc32_init() != NGX_OK) { + return 1; + } + if (ngx_add_inherited_sockets(&init_cycle) != NGX_OK) { return 1; } @@ -283,10 +289,6 @@ ngx_os_status(cycle->log); - if (ngx_crc32_init(cycle->pool) != NGX_OK) { - return 1; - } - ngx_cycle = cycle; ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
diff --git a/src/core/ngx_crc32.c b/src/core/ngx_crc32.c index ac375b0..4ad8ff3 100644 --- a/src/core/ngx_crc32.c +++ b/src/core/ngx_crc32.c
@@ -102,7 +102,7 @@ ngx_int_t -ngx_crc32_init(ngx_pool_t *pool) +ngx_crc32_init(void) { void *p; @@ -113,7 +113,7 @@ return NGX_OK; } - p = ngx_palloc(pool, 16 * sizeof(uint32_t) + ngx_cacheline_size); + p = ngx_alloc(16 * sizeof(uint32_t) + ngx_cacheline_size, ngx_cycle->log); if (p == NULL) { return NGX_ERROR; }
diff --git a/src/core/ngx_crc32.h b/src/core/ngx_crc32.h index 7c18279..7d5279d 100644 --- a/src/core/ngx_crc32.h +++ b/src/core/ngx_crc32.h
@@ -49,7 +49,7 @@ } -ngx_int_t ngx_crc32_init(ngx_pool_t *pool); +ngx_int_t ngx_crc32_init(void); #endif /* _NGX_CRC32_H_INCLUDED_ */