From c75ae780d705d2407b69f6b4871098103f099da3 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Sat, 5 Sep 2020 23:14:01 -0400 Subject: [PATCH] fix: delete process/global storage properly --- lib/ash/dsl/extension.ex | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/ash/dsl/extension.ex b/lib/ash/dsl/extension.ex index 3113e69e..d96cd3a2 100644 --- a/lib/ash/dsl/extension.ex +++ b/lib/ash/dsl/extension.ex @@ -181,17 +181,17 @@ defmodule Ash.Dsl.Extension do @extensions unquote(extensions) # Due to a few strange stateful bugs I've seen, # we clear the process of any potentially related state - Process.get() - |> Enum.filter(fn key -> - is_tuple(key) and elem(key, 0) == __MODULE__ - end) - |> Enum.each(&Process.delete/1) + for {key, _value} <- Process.get() do + if is_tuple(key) and elem(key, 0) == __MODULE__ do + Process.delete(key) + end + end - :persistent_term.get() - |> Enum.filter(fn key -> - is_tuple(key) and elem(key, 0) == __MODULE__ - end) - |> Enum.each(&:persistent_term.delete/1) + for {key, _value} <- :persistent_term.get() do + if is_tuple(key) and elem(key, 0) == __MODULE__ do + :persistent_term.erase(key) + end + end end imports =