changeset 5378:61255eb991c3 HEAD

Actually use MEM_ALIGN_SIZE to get the alignment right
author Timo Sirainen <tss@iki.fi>
date Thu, 22 Mar 2007 00:49:37 +0200
parents 512cea8832e5
children 678621b6f1e0
files src/lib/mempool-system-clean.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/mempool-system-clean.c	Thu Mar 22 00:40:15 2007 +0200
+++ b/src/lib/mempool-system-clean.c	Thu Mar 22 00:49:37 2007 +0200
@@ -17,8 +17,13 @@
 #  include <gc.h>
 #endif
 
-/* Always give 64 bits to the size so returned memory is always 64bit aligned */
-#define EXTRA_SIZE_SPACE 8
+/* use the maximum of required memory alignment and sizeof(void *)
+   (sizeof(size_t) is assumed to be same. it always is.) */
+#if MEM_ALIGN_SIZE > SIZEOF_VOID_P
+#  define EXTRA_SIZE_SPACE MEM_ALIGN_SIZE
+#else
+#  define EXTRA_SIZE_SPACE SIZEOF_VOID_P
+#endif
 
 #undef HAVE_MALLOC_USABLE_SIZE
 static const char *pool_system_clean_get_name(pool_t pool);