gen_server:call on a global name that is not registered

Viewed 574

I have a gen_server process that registers a global name like this:

global:register_name(<<"CLIENT_", NAME/binary>>, self()),

Another process is trying to send this process a message using gen_server:call like this:

 gen_server:call({global, <<"CLIENT_", NAME/binary>>}, {msg, DATA}),

If the second call happens before the first process registers the global name, it dies with:

exit with reason {noproc,{gen_server,call,[{global,<<"CLIENT_122">>},{msg, <<"TEST">>}]}}

What is the correct way to make a call only if the global name is register, and do something else if it is not?

1 Answers
Related