From a81183a260a7d7c9a1c74ec917013770cd39ff69 Mon Sep 17 00:00:00 2001 From: Neil Houston Date: Mon, 5 Jan 2026 10:50:46 +0100 Subject: [PATCH] Fix get_protocol_type to resolve registered process names via whereis/1 --- src/main/mc_worker_pid_info.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/mc_worker_pid_info.erl b/src/main/mc_worker_pid_info.erl index 2d604300..96496509 100644 --- a/src/main/mc_worker_pid_info.erl +++ b/src/main/mc_worker_pid_info.erl @@ -86,7 +86,7 @@ set_info(MCWorkerPID, InfoMap) -> discard_info(MCWorkerPID) -> ets:delete(?MC_WORKER_PID_INFO_TAB_NAME, MCWorkerPID). -get_protocol_type(MCWorkerPID) -> +get_protocol_type(MCWorkerPID) when is_pid(MCWorkerPID) -> case get_info(MCWorkerPID) of {ok, #{protocol_type := ProtocolType}} -> ProtocolType; @@ -95,6 +95,11 @@ get_protocol_type(MCWorkerPID) -> %% mc_worker process was created before the hot_upgrade so we use %% the legacy protocol as this was what existed before legacy + end; +get_protocol_type(Name) when is_atom(Name) -> + case whereis(Name) of + undefined -> legacy; + Pid -> get_protocol_type(Pid) end. %% This process should be called from mc_worker processes to install their info