Commit graph

15 commits

Author SHA1 Message Date
Kent Boortz
9da00ebec9 Updated/added copyright headers 2011-06-30 17:46:53 +02:00
Davi Arnaut
9fd9857e0b WL#5498: Remove dead and unused source code
Remove code that has been disabled for a long time.
2010-07-23 17:09:27 -03:00
Davi Arnaut
a10ae35328 Bug#34043: Server loops excessively in _checkchunk() when safemalloc is enabled
Essentially, the problem is that safemalloc is excruciatingly
slow as it checks all allocated blocks for overrun at each
memory management primitive, yielding a almost exponential
slowdown for the memory management functions (malloc, realloc,
free). The overrun check basically consists of verifying some
bytes of a block for certain magic keys, which catches some
simple forms of overrun. Another minor problem is violation
of aliasing rules and that its own internal list of blocks
is prone to corruption.

Another issue with safemalloc is rather the maintenance cost
as the tool has a significant impact on the server code.
Given the magnitude of memory debuggers available nowadays,
especially those that are provided with the platform malloc
implementation, maintenance of a in-house and largely obsolete
memory debugger becomes a burden that is not worth the effort
due to its slowness and lack of support for detecting more
common forms of heap corruption.

Since there are third-party tools that can provide the same
functionality at a lower or comparable performance cost, the
solution is to simply remove safemalloc. Third-party tools
can provide the same functionality at a lower or comparable
performance cost. 

The removal of safemalloc also allows a simplification of the
malloc wrappers, removing quite a bit of kludge: redefinition
of my_malloc, my_free and the removal of the unused second
argument of my_free. Since free() always check whether the
supplied pointer is null, redudant checks are also removed.

Also, this patch adds unit testing for my_malloc and moves
my_realloc implementation into the same file as the other
memory allocation primitives.
2010-07-08 18:20:08 -03:00
kostja@bodhi.(none)
91fe15bb9d Fix doxygen warnings. 2007-08-15 17:43:08 +04:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
monty@narttu.mysql.fi
f763d4c31d Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
2003-11-04 14:09:03 +02:00
root@home.(none)
f71a7e4b05 set_default_charset() is not used anymore
Some system_charset_info were removed
2003-03-16 10:56:14 +04:00
bar@bar.mysql.r18.ru
098b974483 For coding convenuence cs->mbmaxlen is now 1 for 8bit charsets 2002-11-11 13:10:39 +04:00
bar@bar.udmsearch.izhnet.ru
6340c79c05 Renamed some charset related constant
New fields in CHARSET_INFO for more nice SHOW CHARACTER SET
Dynamic charsets are now handled in faster way
SHOW CHARACTER SET now displays not only compiled charsets but dynamic charsets too
2002-07-30 14:02:29 +05:00
bar@bar.udmsearch.izhnet.ru
c9cc3cceac move _print_charset to proper place 2002-07-30 11:03:08 +05:00
bar@gw.udmsearch.izhnet.ru
ac0dfc7774 test_charset.c:
fix: use my_free() instead of free()
2002-06-11 21:04:14 +05:00
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
7cadc6e711 Changed to use my_global.h
Fixed problem with LIKE with latin1_de
Added parsing support of UNSIGNED LONG LONG
2001-09-14 02:54:33 +03:00
monty@hundin.mysql.fi
733f865f54 Fixes for OS2.
Fix bug in isamlog
Add argument types to function declarations.
2001-08-22 01:45:07 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00