From: Kenneth Graunke Date: Fri, 24 Feb 2017 02:05:16 +0000 (+0000) Subject: ralloc: Delete autofree handling. X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=63d1ebca3a6e1ec51f7f31ab9b77af0fb7e7f857 ralloc: Delete autofree handling. There was exactly one user of this, and I just removed it. It also accessed an implicit global context, with no locking. This meant that it was only safe if all callers of ralloc_autofree_context() held the same lock...which is a pretty terrible thing for a utility library to impose. Signed-off-by: Kenneth Graunke Reviewed-by: Marek Olšák Reviewed-by: Lionel Landwerlin --- diff --git a/src/util/ralloc.c b/src/util/ralloc.c index 980e4e4f138..d5cc16766b1 100644 --- a/src/util/ralloc.c +++ b/src/util/ralloc.c @@ -323,24 +323,6 @@ ralloc_parent(const void *ptr) return info->parent ? PTR_FROM_HEADER(info->parent) : NULL; } -static void *autofree_context = NULL; - -static void -autofree(void) -{ - ralloc_free(autofree_context); -} - -void * -ralloc_autofree_context(void) -{ - if (unlikely(autofree_context == NULL)) { - autofree_context = ralloc_context(NULL); - atexit(autofree); - } - return autofree_context; -} - void ralloc_set_destructor(const void *ptr, void(*destructor)(void *)) { diff --git a/src/util/ralloc.h b/src/util/ralloc.h index 3e2d342b45e..7d906519661 100644 --- a/src/util/ralloc.h +++ b/src/util/ralloc.h @@ -246,15 +246,6 @@ void ralloc_adopt(const void *new_ctx, void *old_ctx); */ void *ralloc_parent(const void *ptr); -/** - * Return a context whose memory will be automatically freed at program exit. - * - * The first call to this function creates a context and registers a handler - * to free it using \c atexit. This may cause trouble if used in a library - * loaded with \c dlopen. - */ -void *ralloc_autofree_context(void); - /** * Set a callback to occur just before an object is freed. */