Explorar o código

fix(cluster-link): clear exit signal of failed-to-connect client

Andrew Mayorov hai 1 ano
pai
achega
780a0bf807

+ 7 - 0
apps/emqx_cluster_link/src/emqx_cluster_link_router_syncer.erl

@@ -145,12 +145,19 @@ start_link_client(TargetCluster, Actor) ->
                 {ok, _Props} ->
                     {ok, Pid};
                 Error ->
+                    _ = flush_link_signal(Pid),
                     Error
             end;
         Error ->
             Error
     end.
 
+flush_link_signal(Pid) ->
+    receive
+        {'EXIT', Pid, _} -> ok
+    after 1 -> timeout
+    end.
+
 refine_client_options(Options = #{clientid := ClientID}, Actor) ->
     Suffix =
         case Actor of