Mercurial > hg > nginx
comparison src/core/ngx_radix_tree.c @ 4848:a0f1d53546d4 stable-1.2
Merge of r4778, r4782, r4783, r4824, r4830, r4834: minor fixes.
*) Reorder checks in ngx_shared_memory_add() for more consistent
error messages.
*) Added "const" to ngx_memcpy() with NGX_MEMCPY_LIMIT defined. This
fixes warning produced during compilation of the ngx_http_geoip_module
due to const qualifier being discarded.
*) Fixed possible use of old cached times if runtime went backwards.
If ngx_time_sigsafe_update() updated only ngx_cached_err_log_time, and
then clock was adjusted backwards, the cached_time[slot].sec might
accidentally match current seconds on next ngx_time_update() call,
resulting in various cached times not being updated.
Fix is to clear the cached_time[slot].sec to explicitly mark cached times
are stale and need updating.
*) Radix tree preallocation fix. The preallocation size was calculated
incorrectly and was always 8 due to sizeof(ngx_radix_tree_t) accidentally
used instead of sizeof(ngx_radix_node_t).
*) Fixed overflow if ngx_slab_alloc() is called with very big "size"
argument.
*) Write filter: replaced unneeded loop with one to free chains.
Noted by Gabor Lekeny.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 24 Sep 2012 18:34:04 +0000 |
parents | d620f497c50f |
children | 6b416e3bdd26 |
comparison
equal
deleted
inserted
replaced
4847:0275f587e00b | 4848:a0f1d53546d4 |
---|---|
58 * 7 bits on sparc64 in 64-bit mode (8K pages) | 58 * 7 bits on sparc64 in 64-bit mode (8K pages) |
59 * 8 bits on sparc64 in 32-bit mode (8K pages) | 59 * 8 bits on sparc64 in 32-bit mode (8K pages) |
60 */ | 60 */ |
61 | 61 |
62 if (preallocate == -1) { | 62 if (preallocate == -1) { |
63 switch (ngx_pagesize / sizeof(ngx_radix_tree_t)) { | 63 switch (ngx_pagesize / sizeof(ngx_radix_node_t)) { |
64 | 64 |
65 /* amd64 */ | 65 /* amd64 */ |
66 case 128: | 66 case 128: |
67 preallocate = 6; | 67 preallocate = 6; |
68 break; | 68 break; |