Ruslan Ermilov
4cf89436d1
Slab: added comment about list heads.
2016-12-07 22:25:37 +03:00
Ruslan Ermilov
86f846a8bb
Slab: improved code readability.
...
No functional changes.
2016-12-07 22:25:37 +03:00
Ruslan Ermilov
cdd0cd6e2c
Slab: improved double free detection.
...
Previously, an attempt to double free the starting page of the
free range was not detected.
2016-12-03 10:01:39 +03:00
Ruslan Ermilov
34b41a70a6
Slab: always show the requested allocation size in debug messages.
...
Previously, allocations smaller than min_size were shown as min_size.
2016-12-03 10:01:03 +03:00
Ruslan Ermilov
3df657f6fd
Slab: style.
...
Removed redundant parentheses. No functional changes.
2016-12-03 09:55:40 +03:00
Sergey Kandaurov
00ef9ff5f0
Fixed logging.
2016-03-31 02:33:57 +03:00
Ruslan Ermilov
7ad57da598
Style.
2016-03-30 11:52:16 +03:00
Jianjun Zheng
584692027b
Core: bugfix for the ngx_slab_max_size case.
2014-06-18 16:39:59 +08:00
Ruslan Ermilov
05d717b35d
Core: added ngx_slab_calloc() and ngx_slab_calloc_locked().
...
These functions return zeroed memory, analogous to ngx_pcalloc().
2014-06-04 15:09:19 +04:00
Maxim Dounin
afb4aafc6e
Core: slab allocator free pages defragmentation.
...
Large allocations from a slab pool result in free page blocks being fragmented,
eventually leading to a situation when no further allocation larger than a page
size are possible from the pool. While this isn't a problem for nginx itself,
it is known to be bad for various 3rd party modules. Fix is to merge adjacent
blocks of free pages in the ngx_slab_free_pages() function.
Prodded by Wandenberg Peixoto and Yichun Zhang.
2014-06-03 17:53:03 +04:00
Maxim Dounin
23f6689846
Core: slab log_nomem flag.
...
The flag allows to suppress "ngx_slab_alloc() failed: no memory" messages
from a slab allocator, e.g., if an LRU expiration is used by a consumer
and allocation failures aren't fatal.
The flag is now used in the SSL session cache code, and in the limit_req
module.
2014-03-31 21:38:30 +04:00
Maxim Dounin
2b0dba578f
Handling of ngx_int_t != intptr_t case.
...
Casts between pointers and integers produce warnings on size mismatch. To
silence them, cast to (u)intptr_t should be used. Prevoiusly, casts to
ngx_(u)int_t were used in some cases, and several ngx_int_t expressions had
no casts.
As of now it's mostly style as ngx_int_t is defined as intptr_t.
2013-09-04 21:16:59 +04:00
Ruslan Ermilov
9d6d33a561
Fixed overflow if ngx_slab_alloc() is called with very big "size" argument.
2012-08-30 15:09:21 +00:00
Ruslan Ermilov
01f07bde7e
Reduced the number of preprocessor directives.
2012-07-26 14:47:42 +00:00
Maxim Konovalov
f8d59e33f3
Copyright updated.
2012-01-18 15:07:43 +00:00
Igor Sysoev
ba71972b21
Using of junk value in slab allocator similar to modern FreeBSD values.
2011-10-24 15:50:19 +00:00
Igor Sysoev
efc6ecab82
malloc() debugging on MacOSX.
2011-10-24 15:46:48 +00:00
Igor Sysoev
5234b9c6a8
fix building by BCC without NGX_DEBUG_MALLOC
2009-04-15 19:44:41 +00:00
Igor Sysoev
a2c8d9a0a8
improve ngx_slab_alloc() error logging
2009-03-27 17:00:42 +00:00
Igor Sysoev
04fe40023a
delete old debugging and info
2009-03-27 16:37:39 +00:00
Igor Sysoev
4b2844b8a0
fix slab page or more sized allocations if nginx was build without debug
2009-01-25 10:39:59 +00:00
Igor Sysoev
19961d20ce
style fix
2009-01-12 15:36:30 +00:00
Igor Sysoev
5e593aa34e
take MALLOC_OPTIONS=J into account in slab allocator
2007-12-22 11:06:53 +00:00
Igor Sysoev
499c05a87b
the simple expression has the same precision without overflow
2007-11-16 18:15:04 +00:00
Igor Sysoev
295b94de9a
fix slab allocator on 64-bit platfroms
2007-01-11 19:13:46 +00:00
Igor Sysoev
7431938b90
fix slab allocator on 64-bit platfroms
2007-01-11 18:58:40 +00:00
Igor Sysoev
5096bd9a92
style fix
2007-01-02 23:12:24 +00:00
Igor Sysoev
c33efcd10a
many bug fixes and ngx_slab_alloc_locked()/ngx_slab_free_locked()
2007-01-02 23:10:42 +00:00
Igor Sysoev
2f899aa56c
fix building on 64-bit platforms
2006-11-27 20:47:55 +00:00
Igor Sysoev
67cd336d88
slab allocator in shared memory
2006-11-20 08:51:45 +00:00
Igor Sysoev
0593b63c6a
undo the previous wrong commit
2006-10-28 14:32:39 +00:00
Igor Sysoev
e6d99d831c
bad commit
2006-10-28 14:20:13 +00:00
Igor Sysoev
ff8da91784
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
2004-09-29 16:00:49 +00:00
Igor Sysoev
d90282d8ba
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
2004-09-28 08:34:51 +00:00
Igor Sysoev
f924e6b694
nginx-0.0.7-2004-06-16-23:36:07 import
2004-06-16 19:36:07 +00:00