aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/socket_test_ttest_tcp_server.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2019-05-23 15:14:29 +0200
committerMicael Karlberg <[email protected]>2019-05-29 13:47:40 +0200
commit0eb29c0eebd4e58f294005dbe355e270208756d9 (patch)
tree8b07c5deb0c4afa8fd7cbd8d3019de4d50098639 /erts/emulator/test/socket_test_ttest_tcp_server.erl
parent56cad32ecdfa36ea7a4cddac1579eb1e414ec0fe (diff)
downloadotp-0eb29c0eebd4e58f294005dbe355e270208756d9.tar.gz
otp-0eb29c0eebd4e58f294005dbe355e270208756d9.tar.bz2
otp-0eb29c0eebd4e58f294005dbe355e270208756d9.zip
[esock|ttest] Make it possible use local for ttest
Make Unix Domain (stream) socket work with the ttest command line tool (for esock server and client). OTP-15822
Diffstat (limited to 'erts/emulator/test/socket_test_ttest_tcp_server.erl')
-rw-r--r--erts/emulator/test/socket_test_ttest_tcp_server.erl15
1 files changed, 5 insertions, 10 deletions
diff --git a/erts/emulator/test/socket_test_ttest_tcp_server.erl b/erts/emulator/test/socket_test_ttest_tcp_server.erl
index cceaf0d0fc..e916fcb93e 100644
--- a/erts/emulator/test/socket_test_ttest_tcp_server.erl
+++ b/erts/emulator/test/socket_test_ttest_tcp_server.erl
@@ -206,22 +206,15 @@ server_accept(#{mod := Mod,
{error, CPReason} ->
(catch Mod:close(Sock)),
(catch Mod:close(LSock)),
- maybe_unlink(maps:get(port_or_path, State)),
exit({controlling_process, CPReason})
end;
{error, timeout} ->
State;
{error, AReason} ->
(catch Mod:close(LSock)),
- maybe_unlink(maps:get(port_or_path, State)),
exit({accept, AReason})
end.
-maybe_unlink(Path) when is_list(Path) ->
- os:cmd("unlink " ++ Path);
-maybe_unlink(_) ->
- ok.
-
format_peername({Addr, Port}) ->
case inet:gethostbyaddr(Addr) of
{ok, #hostent{h_name = N}} ->
@@ -241,7 +234,10 @@ maybe_start_stats_timer(_, _) ->
start_stats_timer(Time, ProcStr, Pid) ->
erlang:start_timer(Time, self(), {stats, Time, ProcStr, Pid}).
-server_handle_message(#{parent := Parent, handlers := H} = State) ->
+server_handle_message(#{mod := Mod,
+ lsock := LSock,
+ parent := Parent,
+ handlers := H} = State) ->
receive
{timeout, _TRef, {stats, Interval, ProcStr, Pid}} ->
case server_handle_stats(ProcStr, Pid) of
@@ -255,8 +251,7 @@ server_handle_message(#{parent := Parent, handlers := H} = State) ->
{?MODULE, Ref, Parent, stop} ->
reply(Parent, Ref, ok),
lists:foreach(fun(P) -> handler_stop(P) end, H),
- (catch socket:close(maps:get(lsock, State))),
- maybe_unlink(maps:get(port_or_path, State)),
+ (catch Mod:close(LSock)),
exit(normal);
{'DOWN', _MRef, process, Pid, Reason} ->