commit: 69b9c328c99695f575a7c5181a0dd541574ac60d
parent 3a6a4dd77aca3d423b92405e9cdbffca51b98bd3
Author: rinpatch <rinpatch@sdf.org>
Date: Sat, 1 Aug 2020 15:17:41 +0000
Merge branch 'fix/gun-nxdomain-no-error-tuple' into 'develop'
ConnectionPool: fix gun open errors being returned without an error tuple
Closes #2008
See merge request pleroma/pleroma!2832
Diffstat:
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/gun/connection_pool.ex b/lib/pleroma/gun/connection_pool.ex
@@ -10,6 +10,7 @@ defmodule Pleroma.Gun.ConnectionPool do
]
end
+ @spec get_conn(URI.t(), keyword()) :: {:ok, pid()} | {:error, term()}
def get_conn(uri, opts) do
key = "#{uri.scheme}:#{uri.host}:#{uri.port}"
@@ -54,12 +55,14 @@ defmodule Pleroma.Gun.ConnectionPool do
{:DOWN, ^ref, :process, ^worker_pid, reason} ->
case reason do
- {:shutdown, error} -> error
+ {:shutdown, {:error, _} = error} -> error
+ {:shutdown, error} -> {:error, error}
_ -> {:error, reason}
end
end
end
+ @spec release_conn(pid()) :: :ok
def release_conn(conn_pid) do
# :ets.fun2ms(fn {_, {worker_pid, {gun_pid, _, _, _}}} when gun_pid == conn_pid ->
# worker_pid end)