Commit Graph

234 Commits

Author SHA1 Message Date
Antony Dovgal
e5b5f00949 MFH: fix #40800 (cannot disable memory_limit with -1) 2007-03-14 11:58:05 +00:00
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