summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2002-10-13 23:42:37 +0300
committermonty@hundin.mysql.fi <>2002-10-13 23:42:37 +0300
commit00e86fb5ccc46d4801514a7aae3cf636fc2a391b (patch)
tree3cc59185e6ff0b8119c4cf1fa01af1f80c80c7c5 /mysys
parent9b1d5b6f5f6290d9fd5bc058dd1f3a357ab12cba (diff)
downloadmariadb-git-00e86fb5ccc46d4801514a7aae3cf636fc2a391b.tar.gz
Allocate HEAP blocks in smaller blocks to get better memory utilization and more speed when used with safemalloc.
Don't initalize memory areas when run with --skip-safemalloc.
Diffstat (limited to 'mysys')
-rw-r--r--mysys/safemalloc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mysys/safemalloc.c b/mysys/safemalloc.c
index 34fcfff756c..0bf9341e3c1 100644
--- a/mysys/safemalloc.c
+++ b/mysys/safemalloc.c
@@ -194,9 +194,7 @@ gptr _mymalloc (uint uSize, const char *sFile, uint uLine, myf MyFlags)
pthread_mutex_unlock(&THR_LOCK_malloc);
/* Set the memory to the aribtrary wierd value */
-#ifdef HAVE_purify
- if (MyFlags & MY_ZEROFILL)
-#endif
+ if ((MyFlags & MY_ZEROFILL) || !sf_malloc_quick)
bfill(&pTmp -> aData[sf_malloc_prehunc],uSize,
(char) (MyFlags & MY_ZEROFILL ? 0 : ALLOC_VAL));
/* Return a pointer to the real data */
@@ -315,7 +313,8 @@ void _myfree (gptr pPtr, const char *sFile, uint uLine, myf myflags)
#ifndef HAVE_purify
/* Mark this data as free'ed */
- bfill(&pRec->aData[sf_malloc_prehunc],pRec->uDataSize,(pchar) FREE_VAL);
+ if (!sf_malloc_quick)
+ bfill(&pRec->aData[sf_malloc_prehunc],pRec->uDataSize,(pchar) FREE_VAL);
#endif
*((long*) ((char*) &pRec -> lSpecialValue+sf_malloc_prehunc)) = ~MAGICKEY;