aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/socket_test_ttest_tcp_socket.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2019-05-02 15:07:41 +0200
committerMicael Karlberg <[email protected]>2019-05-29 18:41:30 +0200
commitd5a78e4fab8e0039f59bfd20368e5c05a19b8439 (patch)
treeeb8a2437733457b4361497df7d0489dc71c51696 /erts/emulator/test/socket_test_ttest_tcp_socket.erl
parent64c4668a65195283c7dbc24a677f8d3d46ac5513 (diff)
downloadotp-d5a78e4fab8e0039f59bfd20368e5c05a19b8439.tar.gz
otp-d5a78e4fab8e0039f59bfd20368e5c05a19b8439.tar.bz2
otp-d5a78e4fab8e0039f59bfd20368e5c05a19b8439.zip
[esock|test] Fixed async ttest
Updated the ttest test(s) to handle async properly. OTP-15731
Diffstat (limited to 'erts/emulator/test/socket_test_ttest_tcp_socket.erl')
-rw-r--r--erts/emulator/test/socket_test_ttest_tcp_socket.erl42
1 files changed, 21 insertions, 21 deletions
diff --git a/erts/emulator/test/socket_test_ttest_tcp_socket.erl b/erts/emulator/test/socket_test_ttest_tcp_socket.erl
index 65fbba44c6..3aa3b2c504 100644
--- a/erts/emulator/test/socket_test_ttest_tcp_socket.erl
+++ b/erts/emulator/test/socket_test_ttest_tcp_socket.erl
@@ -399,9 +399,9 @@ reader_loop(#{active := false,
end;
%% Read *once* and then change to false
-reader_loop(#{async := false,
- active := once,
- sock := Sock,
+reader_loop(#{active := once,
+ async := false,
+ sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
case do_recv(Method, Sock) of
@@ -443,14 +443,14 @@ reader_loop(#{async := false,
Pid ! ?ERROR_MSG(Sock, Method, Reason),
reader_exit(State, E2)
end;
-reader_loop(#{async := true,
+reader_loop(#{active := once,
+ async := true,
select_info := undefined,
- active := once,
- sock := Sock,
+ sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
case do_recv(Method, Sock, nowait) of
- {ok, {select, _, _} = SelectInfo} ->
+ {select, SelectInfo} ->
reader_loop(State#{select_info => SelectInfo});
{ok, Data} ->
Pid ! ?DATA_MSG(Sock, Method, Data),
@@ -464,11 +464,11 @@ reader_loop(#{async := true,
Pid ! ?ERROR_MSG(Sock, Method, Reason),
reader_exit(State, E2)
end;
-reader_loop(#{async := true,
- select_info := {select, _, Ref},
+reader_loop(#{active := once,
+ async := true,
+ select_info := {select_info, _, Ref},
select_num := N,
- active := once,
- sock := Sock,
+ sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
receive
@@ -513,8 +513,8 @@ reader_loop(#{async := true,
end;
%% Read and forward data continuously
-reader_loop(#{async := false,
- active := true,
+reader_loop(#{active := true,
+ async := false,
sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
@@ -557,14 +557,14 @@ reader_loop(#{async := false,
Pid ! ?ERROR_MSG(Sock, Method, Reason),
reader_exit(State, E2)
end;
-reader_loop(#{async := true,
+reader_loop(#{active := true,
+ async := true,
select_info := undefined,
- active := true,
sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
case do_recv(Method, Sock) of
- {ok, {select, _, _} = SelectInfo} ->
+ {select, SelectInfo} ->
reader_loop(State#{select_info => SelectInfo});
{ok, Data} ->
Pid ! ?DATA_MSG(Sock, Method, Data),
@@ -578,10 +578,10 @@ reader_loop(#{async := true,
Pid ! ?ERROR_MSG(Sock, Method, Reason),
reader_exit(State, E2)
end;
-reader_loop(#{async := true,
- select_info := {select, _, Ref},
+reader_loop(#{active := true,
+ async := true,
+ select_info := {select_info, _, Ref},
select_num := N,
- active := true,
sock := Sock,
method := Method,
ctrl_proc := Pid} = State) ->
@@ -635,8 +635,8 @@ do_recv(msg, Sock, Timeout) ->
case socket:recvmsg(Sock, 0, 0, [], Timeout) of
{ok, #{iov := [Bin]}} ->
{ok, Bin};
- {ok, {select, _, _}} = OK ->
- OK;
+ {select, _} = SELECT ->
+ SELECT;
{error, _} = ERROR ->
ERROR
end.