diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/gun/connection_pool/worker_supervisor.ex | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pleroma/gun/connection_pool/worker_supervisor.ex b/lib/pleroma/gun/connection_pool/worker_supervisor.ex index b2be4ff87..24ad61117 100644 --- a/lib/pleroma/gun/connection_pool/worker_supervisor.ex +++ b/lib/pleroma/gun/connection_pool/worker_supervisor.ex @@ -21,7 +21,9 @@ defmodule Pleroma.Gun.ConnectionPool.WorkerSupervisor do    def start_worker(opts, retry \\ false) do      case DynamicSupervisor.start_child(__MODULE__, {Pleroma.Gun.ConnectionPool.Worker, opts}) do        {:error, :max_children} -> -        if Enum.any?([retry, free_pool()], &match?(&1, :error)) do +        funs = [fn -> !retry end, fn -> match?(:error, free_pool()) end] + +        if Enum.any?(funs, fn fun -> fun.() end) do            :telemetry.execute([:pleroma, :connection_pool, :provision_failure], %{opts: opts})            {:error, :pool_full}          else  | 
