Skip to content

Commit

Permalink
Merge branch 'sverker/unsafe_CancelIoEx/OTP-8937' into dev
Browse files Browse the repository at this point in the history
* sverker/unsafe_CancelIoEx/OTP-8937:
  Improve test case port_SUITE:close_deaf_port
  • Loading branch information
sverker committed Nov 29, 2010
2 parents 1cf74ff + 89d56a4 commit a583c16
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions erts/emulator/test/port_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -2302,7 +2302,8 @@ load_driver(Dir, Driver) ->
end.


close_deaf_port(doc) -> ["Send data to port program that does not read it, then close port."];
close_deaf_port(doc) -> ["Send data to port program that does not read it, then close port."
"Primary targeting Windows to test threaded_handle_closer in sys.c"];
close_deaf_port(suite) -> [];
close_deaf_port(Config) when is_list(Config) ->
?line Dog = test_server:timetrap(test_server:seconds(100)),
Expand All @@ -2312,24 +2313,22 @@ close_deaf_port(Config) when is_list(Config) ->
?line erlang:port_command(Port,"Hello, can you hear me!?!?"),
?line port_close(Port),

close_deaf_port_1(0, DeadPort).
Res = close_deaf_port_1(0, DeadPort),
?line test_server:timetrap_cancel(Dog),
Res.

close_deaf_port_1(1000, _) ->
ok;
close_deaf_port_1(N, Cmd) ->
Timeout = integer_to_list(random:uniform(10*1000)),
try open_port({spawn,Cmd++" "++Timeout},[]) of
?line try open_port({spawn_executable,Cmd},[{args,[Timeout]}]) of
Port ->
?line erlang:port_command(Port,"Hello, can you hear me!?!?"),
?line port_close(Port),
close_deaf_port_1(N+1, Cmd)
catch
exit:eagain ->
_:eagain ->
{comment, "Could not spawn more than " ++ integer_to_list(N) ++ " OS processes."}
end.


repeat(0, _) -> ok;
repeat(Cnt, Fun) ->
Fun(),
repeat(Cnt-1, Fun).

0 comments on commit a583c16

Please sign in to comment.