[Mesa-dev] [PATCH 2/2] ralloc: Delete autofree handling.
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Mon Feb 27 13:49:31 UTC 2017
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
On 27/02/17 12:23, Kenneth Graunke wrote:
> 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 <kenneth at whitecape.org>
> ---
> src/util/ralloc.c | 18 ------------------
> src/util/ralloc.h | 9 ---------
> 2 files changed, 27 deletions(-)
>
> 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
> @@ -247,15 +247,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.
> */
> void ralloc_set_destructor(const void *ptr, void(*destructor)(void *));
More information about the mesa-dev
mailing list