Dmitry Stogov
ab699d03bc
Fixed bug #40770 (Apache child exits when PHP memory limit reached)
2007-03-12 16:59:52 +00:00
Antony Dovgal
db8bbdc2a9
MFH: declare zend_mm_random() only when needed
2007-03-06 20:59:13 +00:00
Antony Dovgal
13ca6ed9fa
MFH: fix heap protection on SPARC, required by GCC4
...
patch by Dmitry
2007-02-19 18:29:31 +00:00
Antony Dovgal
704b191d6a
fix typo
2007-02-16 23:49:48 +00:00
Stanislav Malyshev
4274449a02
add safe_realloc
2007-02-16 18:06:28 +00:00
Dmitry Stogov
009f5a3937
Enable canary protection in DEBUG mode only.
2007-02-01 15:08:10 +00:00
Dmitry Stogov
38f942b880
Fixed bug #40076 (zend_alloc.c: Value of enumeration constant must be in range of signed integer)
2007-01-09 15:29:14 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Dmitry Stogov
5823a2d28a
Fixed possible size_t overflow
2006-12-25 12:16:33 +00:00
Dmitry Stogov
53b088e60c
Make MEMORY_LIMIT and ZEND_USE_MALLOC_MM to be always enabled. They don't make any significant slowdown, but incrise maintainability a lot. Note that the setting of memory_limit wasn't changes (neither in main/main.c nor in php.ini) and it still set to 16M.
2006-12-20 10:49:33 +00:00
Dmitry Stogov
1763dc162d
Fixed random generation of cookies and canaries
2006-12-18 11:39:19 +00:00
Dmitry Stogov
cfbd58c987
MFH: __builtin_expect() exists only in GCC 3.0 and higher
2006-12-18 08:59:40 +00:00
Andi Gutmans
5e36d7fcfe
- I prefer cookie to be the first element.
2006-12-15 17:03:42 +00:00
Dmitry Stogov
bf9e3e769c
Added internal heap protection
...
. safe unlinking
. cookies
. canary protection (debug build only)
2006-12-15 13:25:26 +00:00
Dmitry Stogov
dd9b5a08f0
Fixed possible failure
2006-12-08 12:47:45 +00:00
Dmitry Stogov
f7bc516502
Fixed bug #38274 (Memlimit fatal error sent to "wrong" stderr when using fastcgi)
2006-12-04 16:20:02 +00:00
Dmitry Stogov
abc5bb5f61
Bug #39438 (Fatal error: Out of memory)
2006-12-01 20:01:50 +00:00
Dmitry Stogov
e70d7cfc90
typo
2006-12-01 19:41:57 +00:00
Dmitry Stogov
0742edb396
Fixed bug #39702 (php crashes in the allocator on linux-m68k)
2006-12-01 15:33:06 +00:00
Dmitry Stogov
de9574e872
Fixed bug #39640 (Segfault with "Allowed memory size exhausted")
2006-12-01 13:54:29 +00:00
Dmitry Stogov
e8e9810dd9
Fixed bug #39652 (Wrong negative results from memeory_get_usage())
2006-12-01 11:42:20 +00:00
Dmitry Stogov
c663787ab4
Fixed bug #39534 (Error in maths to calculate of ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com)
2006-11-23 09:32:39 +00:00
Dmitry Stogov
f00ee72c35
Fixed incorrect heap corruptiuon detection code
2006-11-13 10:28:46 +00:00
Dmitry Stogov
f1b6587ebb
Zend Memory Manager Improvements
...
. use HeapAlloc() instead of VirtualAlloc()
. use "win32" storage manager (instead of "malloc") on Windows by default
2006-11-10 10:44:40 +00:00
Dmitry Stogov
e6fd66facb
Make zend_memory_peak_usage() to be avalable even without --enable-memory-limit
2006-10-12 06:46:51 +00:00
Ilia Alshanetsky
4fd88b23cc
Added safety checks against integer overflow.
2006-09-30 17:12:06 +00:00
Dmitry Stogov
27c327b97e
Added is_zend_mm() to allow runtime check for zend memory manager
2006-09-14 08:00:44 +00:00
Dmitry Stogov
54123daa8d
Show name of storage layer in case of initialization fault.
2006-08-31 11:53:57 +00:00
Antony Dovgal
235e3939d5
s/pinter/pointer/
2006-08-30 22:29:24 +00:00
Dmitry Stogov
27d3021704
Fixed bug #38265 (heap corruption)
2006-08-23 13:00:48 +00:00
Dmitry Stogov
4180155a47
Fixed "win32" storage manager
2006-08-22 05:54:15 +00:00
Dmitry Stogov
3688c103b5
Fixed crash of DEBUG version on SPARC CPU because of unaligned pointers.
2006-07-26 08:07:11 +00:00
Dmitry Stogov
356facf4af
Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get memory size allocated by emalloc() (by default) or real size of memory allocated from system.
2006-07-25 13:40:05 +00:00
Dmitry Stogov
3b7386acea
Fixed memory leaks detection
2006-07-24 08:15:26 +00:00
Antony Dovgal
c204ff0258
MFH: fix build on platforms without mremap()
2006-07-18 15:41:58 +00:00
Dmitry Stogov
29ed52ffa4
New memory manager
2006-07-18 09:06:33 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
foobar
379cd5a6df
MFH:- Include timestamp for the leaks. (to make possible matching leaks with access_log entries)
2005-12-12 11:00:57 +00:00
Ilia Alshanetsky
3b329a9926
MFH: Fixed bug #34156 (memory usage remains elevated after memory limit is
...
reached);
2005-08-18 15:14:12 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
foobar
355eefe5f9
- Nuke the code duplication
2005-04-07 20:15:21 +00:00
Zeev Suraski
779f5c5c19
Fix strdup() bug when USE_ZEND_ALLOC is disabled
2005-04-07 13:59:45 +00:00
Andi Gutmans
ec3aac1e86
- Fix leak report for 0 byte allocations (Dmitry)
2004-08-27 16:49:14 +00:00
Andi Gutmans
138ef9a43e
- Improve performance by inlining zend_ptr_stack_n_push(). var_args can
...
usually not be inlined by compilers.
2004-07-30 20:16:40 +00:00
Moriyoshi Koizumi
182e93ab6e
- Add safe_pemalloc()
2004-07-20 21:55:57 +00:00
Andi Gutmans
eb2e53be99
- Improve performance of zend_alloc by stopping the size from being a bit
...
- field.
2004-07-15 22:59:54 +00:00
Andi Gutmans
e5cfb1d05c
- Better stability during premature shutdown of request startup
2004-07-10 07:46:17 +00:00
Andi Gutmans
c3e9cd9c91
- Should fix mem leak with ZEND_MM. I made this change a while ago and
...
- rolled it back but I don't remember why. Please test!
2004-07-03 00:16:39 +00:00
Andi Gutmans
97dee3a8c2
- Fix memory manager problem
2004-05-26 20:55:16 +00:00
Andi Gutmans
02884a08f5
- More fixes
2004-05-25 10:09:46 +00:00
Andi Gutmans
6704ab4b35
- Make fix compile.
2004-05-25 09:25:22 +00:00
Andi Gutmans
db90fc4c90
- Fix memory leak in mem cache in conjunction with Zend MM. How come no one
...
- noticed this? :)
2004-05-25 08:33:11 +00:00
Stefan Esser
2224276a13
Checking MEMORY_LIMIT before doing emalloc/erealloc solves several ugly problems.
2004-05-10 12:17:25 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Ilia Alshanetsky
c66bcc7b74
Fixed if() condition.
2003-10-17 02:29:06 +00:00
Andi Gutmans
a24df5cf55
- Fix compile problem.
2003-10-14 17:26:36 +00:00
Hartmut Holzgraefe
075e66cc08
signed/unsigned compiler warning fixes
2003-09-26 08:09:56 +00:00
Georg Richter
47f6dc77c5
fixed compiler warning
...
removed dead code
2003-09-25 15:54:17 +00:00
Marcus Boerger
dc6163fe20
Fix warnings
2003-09-13 16:49:50 +00:00
Sascha Schumann
2e36578cfd
Add format attribute to a number of functions
...
Kill a few warnings
2003-08-28 16:41:20 +00:00
Zeev Suraski
1e70f45112
adhere to silence
2003-08-20 23:27:04 +00:00
Marcus Boerger
56e8757d77
Fix counting number of leaks
2003-08-20 22:15:01 +00:00
Zeev Suraski
49c4866a47
- Improve tracking
...
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Zeev Suraski
1c385fc742
Fix warning
2003-07-16 08:48:22 +00:00
Andi Gutmans
84f4588726
- Add heap to memory manager. This should improve performance.
...
- Enabling it by default so that it gets tested. We should decide before
beta 2 if we want to revert back to malloc or not.
- Thanks to Sebastian for benchmarking it
2003-07-04 15:38:12 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Sterling Hughes
d919f18607
no reason to do this at runtime
2003-05-28 22:56:56 +00:00
Sascha Schumann
04d2905fb5
add safe_emalloc
2003-04-24 03:35:06 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Ilia Alshanetsky
8c3b8d4fe6
MFZE2
2003-01-10 19:18:20 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Andi Gutmans
9f361fc0f8
- Allow enabling of memory cache with zend_mm
2002-12-01 20:15:09 +00:00
Zeev Suraski
0e50ac4b2c
MFZE1
2002-08-08 08:42:22 +00:00
Harald Radi
99c90db11a
make win32 debug output more verbose
2002-08-07 14:47:42 +00:00
Andi Gutmans
b55a20abf4
- Fix problem with scope's not changing correctly during method calls.
...
- Reapply a tiny optimization to the allocator so that in non-debug mode
- we clean memory without detecting leaks.
2002-06-26 11:07:35 +00:00
Andi Gutmans
c6b39eb50d
- More fixes (warnings, bug fixes etc.)
2002-06-24 18:49:13 +00:00
Andi Gutmans
8fd5e70e2d
- Fix crash bug and clean up a bit.
2002-06-24 17:47:46 +00:00
Andi Gutmans
95e0bb6a4b
- MFZE1
2002-06-24 13:45:21 +00:00
Andi Gutmans
2172abcb0a
- Don't use cache if we're using ZEND_MM
2002-06-24 13:41:26 +00:00
Andi Gutmans
1c20bf27da
- Don't keep allocated blocks in a linked list if we're in non-debug mode
...
- as now the memory manager takes care to nuke all leaking blocks.
2002-06-24 07:22:25 +00:00
Andi Gutmans
7f226a6b19
- Fix crash when zend_mm_shutdown is called more than once.
2002-06-22 16:09:15 +00:00
Andi Gutmans
e2f57d0fcc
- MFZE1
2002-06-22 14:37:49 +00:00
Andi Gutmans
b53569c9e8
- Nuke persist_alloc().
2002-06-22 13:52:07 +00:00
Andi Gutmans
ad9bed0edd
- Oops, this was supposed to be part of the previous #ifdef ZEND_MM change
2002-06-19 16:53:06 +00:00
Andi Gutmans
1e4a2dc6a9
- Fix a bug and add code which frees actual allocated segments at the end
...
- of execution (this still doesn't work because some blocks remain
- referenced after the memory manager is killed.
2002-06-17 19:00:37 +00:00
Andi Gutmans
380c082e32
- Commit an initial version of a home made memory manager.
...
- It's just for seeing if this would be an advantage to PHP in MT
- environments. If this is to become production material there is still
- a long way to go.
2002-06-16 17:17:47 +00:00
Sebastian Bergmann
8463225b49
Revert.
2002-04-28 06:24:15 +00:00
Sebastian Bergmann
90bad130a9
MFZE1: If the size-operands of memset are constants, the compiler can turn them into fast inline code. So, instead of using ecalloc, we use emalloc + memset in macro form now. emalloc will not return NULL, so the chosen macro form is safe. This is not true for malloc(3). An inline function accomodates our needs here. Suggested by: http://www.mail-archive.com/dev%40httpd.apache.org/msg02492.html (Sascha)
2002-04-27 15:23:46 +00:00
Andi Gutmans
7df1601239
- MFZE1
2002-02-26 19:17:26 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Zeev Suraski
b02df6f4ac
MFZE1
2001-08-17 14:53:55 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Zeev Suraski
c06dbe23bb
Fix buglet
2001-08-03 16:08:01 +00:00
Zeev Suraski
e206bd3374
Fix macro
2001-08-03 08:15:16 +00:00
Zeev Suraski
66d9314b60
Implement fast memory allocation and reduced fragmentation under Windows.
2001-08-03 07:06:05 +00:00
Zeev Suraski
b4f3b9d3ce
Redesigned thread safety mechanism - nua nua
2001-07-28 10:51:54 +00:00
Sascha Schumann
b677af2265
tsrm_error is only available, if TSRM_DEBUG is defined.
2001-07-23 04:21:11 +00:00
Sascha Schumann
28ecbb213c
tsrm_error is only available, if TSRM_DEBUG is defined.
2001-07-23 04:19:32 +00:00
Andi Gutmans
55687ca216
- Fix the memory limit fix.
2001-06-30 07:58:34 +00:00