fixed buglets reported by Jens Granseuer in #328254.

Wed Jan 25 19:16:57 2006  Tim Janik  <timj@imendio.com>

        * fixed buglets reported by Jens Granseuer in #328254.

        * configure.in: free the memory allocated in posix_memalign() tests.

        * glib/gslice.c: spelling fixes.
This commit is contained in:
Tim Janik 2006-01-25 18:20:28 +00:00 committed by Tim Janik
parent 4ec9e3a40d
commit bd88bf87da
5 changed files with 35 additions and 9 deletions

View File

@ -1,3 +1,11 @@
Wed Jan 25 19:16:57 2006 Tim Janik <timj@imendio.com>
* fixed buglets reported by Jens Granseuer in #328254.
* configure.in: free the memory allocated in posix_memalign() tests.
* glib/gslice.c: spelling fixes.
Wed Jan 25 16:39:18 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: honour g_mem_gc_friendly settings when freeing

View File

@ -1,3 +1,11 @@
Wed Jan 25 19:16:57 2006 Tim Janik <timj@imendio.com>
* fixed buglets reported by Jens Granseuer in #328254.
* configure.in: free the memory allocated in posix_memalign() tests.
* glib/gslice.c: spelling fixes.
Wed Jan 25 16:39:18 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: honour g_mem_gc_friendly settings when freeing

View File

@ -1,3 +1,11 @@
Wed Jan 25 19:16:57 2006 Tim Janik <timj@imendio.com>
* fixed buglets reported by Jens Granseuer in #328254.
* configure.in: free the memory allocated in posix_memalign() tests.
* glib/gslice.c: spelling fixes.
Wed Jan 25 16:39:18 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: honour g_mem_gc_friendly settings when freeing

View File

@ -1034,6 +1034,8 @@ AC_CACHE_VAL(glib_cv_compliant_posix_memalign,[
void *mem = 0;
if (posix_memalign (&mem, boundary, size) != 0 || !mem)
exit (1);
else
free (mem);
}
int main() {
test_memalign ( 128, 128 - 2 * sizeof (void*));

View File

@ -39,7 +39,7 @@
#endif
#if defined HAVE_POSIX_MEMALIGN && defined POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS
# define HAVE_COMLIANT_POSIX_MEMALIGN 1
# define HAVE_COMPLIANT_POSIX_MEMALIGN 1
#endif
@ -297,7 +297,7 @@ g_slice_init_nomessage (void)
mem_assert ((sys_page_size & (sys_page_size - 1)) == 0);
slice_config_init (&allocator->config);
allocator->min_page_size = sys_page_size;
#if HAVE_COMLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN
#if HAVE_COMPLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN
/* allow allocation of pages up to 8KB (with 8KB alignment).
* this is useful because many medium to large sized structures
* fit less than 8 times (see [4]) into 4KB pages.
@ -1044,14 +1044,14 @@ slab_allocator_free_chunk (gsize chunk_size,
#endif
/* from config.h:
* define HAVE_POSIX_MEMALIGN 1 // if free(posix_memalign(3)) works, <stdlib.h>
* define HAVE_COMLIANT_POSIX_MEMALIGN 1 // if free(posix_memalign(3)) works for sizes != 2^n, <stdlib.h>
* define HAVE_MEMALIGN 1 // if free(memalign(3)) works, <malloc.h>
* define HAVE_VALLOC 1 // if free(valloc(3)) works, <stdlib.h> or <malloc.h>
* define HAVE_POSIX_MEMALIGN 1 // if free(posix_memalign(3)) works, <stdlib.h>
* define HAVE_COMPLIANT_POSIX_MEMALIGN 1 // if free(posix_memalign(3)) works for sizes != 2^n, <stdlib.h>
* define HAVE_MEMALIGN 1 // if free(memalign(3)) works, <malloc.h>
* define HAVE_VALLOC 1 // if free(valloc(3)) works, <stdlib.h> or <malloc.h>
* if none is provided, we implement malloc(3)-based alloc-only page alignment
*/
#if !(HAVE_COMLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_VALLOC)
#if !(HAVE_COMPLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_VALLOC)
static GTrashStack *compat_valloc_trash = NULL;
#endif
@ -1061,7 +1061,7 @@ allocator_memalign (gsize alignment,
{
gpointer aligned_memory = NULL;
gint err = ENOMEM;
#if HAVE_COMLIANT_POSIX_MEMALIGN
#if HAVE_COMPLIANT_POSIX_MEMALIGN
err = posix_memalign (&aligned_memory, alignment, memsize);
#elif HAVE_MEMALIGN
errno = 0;
@ -1101,7 +1101,7 @@ static void
allocator_memfree (gsize memsize,
gpointer mem)
{
#if HAVE_COMLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_VALLOC
#if HAVE_COMPLIANT_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_VALLOC
free (mem);
#else
mem_assert (memsize <= sys_page_size);