aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/socket_test_evaluator.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2018-10-29 18:42:16 +0100
committerMicael Karlberg <[email protected]>2018-10-29 18:42:16 +0100
commit6b9d3908c16a36f47028eaf3728826f442ffad12 (patch)
treed1bc07a2d63704d37edfb8a5358b2dbc32e95de4 /erts/emulator/test/socket_test_evaluator.erl
parentf8ce6043ff330a34644f03f5589c33ad7e57bfab (diff)
downloadotp-6b9d3908c16a36f47028eaf3728826f442ffad12.tar.gz
otp-6b9d3908c16a36f47028eaf3728826f442ffad12.tar.bz2
otp-6b9d3908c16a36f47028eaf3728826f442ffad12.zip
[socket-nif|test] Make more use of the evaluator funcs
Use the evaluator functions for communication between processes also for communication between "slave" processes (on other nodes). OTP-14831
Diffstat (limited to 'erts/emulator/test/socket_test_evaluator.erl')
-rw-r--r--erts/emulator/test/socket_test_evaluator.erl18
1 files changed, 13 insertions, 5 deletions
diff --git a/erts/emulator/test/socket_test_evaluator.erl b/erts/emulator/test/socket_test_evaluator.erl
index bad8c92dec..e8755a9512 100644
--- a/erts/emulator/test/socket_test_evaluator.erl
+++ b/erts/emulator/test/socket_test_evaluator.erl
@@ -37,7 +37,7 @@
%% Await functions
%% (Wait for an announcement from another evaluator)
- await_start/0,
+ await_start/0, await_start/1,
await_continue/3, await_continue/4,
await_ready/3, await_ready/4,
await_terminate/2, await_terminate/3,
@@ -267,15 +267,23 @@ announce(To, Announcement, Slogan, Extra)
Extra :: term().
await_start() ->
- case await(any, ?START_NAME_NONE, ?ANNOUNCEMENT_START, ?START_SLOGAN, []) of
- {ok, Pid} when is_pid(Pid) ->
+ await_start(any).
+
+-spec await_start(Pid) -> Pid | {Pid, Extra} when
+ Pid :: pid(),
+ Extra :: term().
+
+await_start(P) when is_pid(P) orelse (P =:= any) ->
+ case await(P, ?START_NAME_NONE, ?ANNOUNCEMENT_START, ?START_SLOGAN, []) of
+ {ok, Any} when is_pid(P) ->
+ Any;
+ {ok, Pid} when is_pid(Pid) andalso (P =:= any) ->
Pid;
- {ok, {Pid, _} = OK} when is_pid(Pid) ->
+ {ok, {Pid, _} = OK} when is_pid(Pid) andalso (P =:= any) ->
OK
end.
-
%% ============================================================================
-spec await_continue(From, Name, Slogan) -> ok | {ok, Extra} | {error, Reason} when