diff options
author | rinpatch <rinpatch@sdf.org> | 2020-08-01 15:17:41 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-08-01 15:17:41 +0000 |
commit | 69b9c328c99695f575a7c5181a0dd541574ac60d (patch) | |
tree | 845d5caee4ad9cf1c4b9fa4d6066b17d4cfbd5a8 | |
parent | 3a6a4dd77aca3d423b92405e9cdbffca51b98bd3 (diff) | |
parent | 45be1fe00e93fadab27a8e93e4537f11f6edd5eb (diff) | |
download | pleroma-69b9c328c99695f575a7c5181a0dd541574ac60d.tar.gz pleroma-69b9c328c99695f575a7c5181a0dd541574ac60d.zip |
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
-rw-r--r-- | lib/pleroma/gun/connection_pool.ex | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/gun/connection_pool.ex b/lib/pleroma/gun/connection_pool.ex index 49e9885bb..f34602b73 100644 --- 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) |