[Mesa-dev] [PATCH] glsl/list: make nodes safe for double removal, etc.
Iago Toral
itoral at igalia.com
Mon Apr 4 14:34:38 UTC 2016
On Sat, 2016-04-02 at 17:09 -0400, Rob Clark wrote:
> From: Rob Clark <robclark at freedesktop.org>
>
> It's no extra overhead to do a _self_link() and it eliminates a class of
> potential problems.
it can also hide actual programming mistakes that would otherwise be
immediately visible... does this actually help something specific?
Iago
> Signed-off-by: Rob Clark <robclark at freedesktop.org>
> Dared-by: Jason Ekstrand <jason at jlekstrand.net>
> ---
> src/compiler/glsl/list.h | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/src/compiler/glsl/list.h b/src/compiler/glsl/list.h
> index a1c4d82..77e1f67 100644
> --- a/src/compiler/glsl/list.h
> +++ b/src/compiler/glsl/list.h
> @@ -165,19 +165,18 @@ exec_node_get_prev(struct exec_node *n)
> }
>
> static inline void
> -exec_node_remove(struct exec_node *n)
> +exec_node_self_link(struct exec_node *n)
> {
> - n->next->prev = n->prev;
> - n->prev->next = n->next;
> - n->next = NULL;
> - n->prev = NULL;
> + n->next = n;
> + n->prev = n;
> }
>
> static inline void
> -exec_node_self_link(struct exec_node *n)
> +exec_node_remove(struct exec_node *n)
> {
> - n->next = n;
> - n->prev = n;
> + n->next->prev = n->prev;
> + n->prev->next = n->next;
> + exec_node_self_link(n);
> }
>
> static inline void
More information about the mesa-dev
mailing list