blob: 2a597607890866589fa2dcb120d92a41dbec1b25 (
plain) (
tree)
|
|
%% This tests the presence of possible races due to a whereis/register
%% combination. It takes into account control flow that might exist.
-module(whereis_control_flow4).
-export([start/1]).
start(Fun) ->
case whereis(maria) of
undefined ->
Pid1 = spawn(Fun),
case Pid1 =:= self() of
true ->
case whereis(kostis) of
undefined ->
Pid2 = spawn(Fun),
case Pid2 =:= self() of
true ->
register(maria, Pid1),
register(kostis, Pid2);
false -> ok
end;
P when is_pid(P) ->
ok
end;
false -> ok
end;
P when is_pid(P) ->
ok
end.
|