diff options
author | Hans Nilsson <hans@erlang.org> | 2021-03-17 13:36:38 +0100 |
---|---|---|
committer | Hans Nilsson <hans@erlang.org> | 2021-03-22 09:29:35 +0100 |
commit | 0dc12045e0ec5a11b2dce00b47b8e396f9544ecc (patch) | |
tree | f762dc3b2c52f96dde2d2e1316c7d50ab749f9f5 | |
parent | b9a6ac539f14ed73598624ba2d6069e1c4cc44bd (diff) | |
download | erlang-0dc12045e0ec5a11b2dce00b47b8e396f9544ecc.tar.gz |
ssh: Fix idle_time bug
-rw-r--r-- | lib/ssh/src/ssh_connection_handler.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl index 8e4831a601..e9c45a5c83 100644 --- a/lib/ssh/src/ssh_connection_handler.erl +++ b/lib/ssh/src/ssh_connection_handler.erl @@ -1433,8 +1433,13 @@ handle_event(info, {'DOWN', _Ref, process, ChannelPid, _Reason}, _, D) -> end, [], Cache), {keep_state, D, cond_set_idle_timer(D)}; -handle_event({timeout,idle_time}, _Data, _StateName, _D) -> - {stop, {shutdown, "Timeout"}}; +handle_event({timeout,idle_time}, _Data, _StateName, D) -> + case ssh_client_channel:cache_info(num_entries, cache(D)) of + 0 -> + {stop, {shutdown, "Timeout"}}; + _ -> + keep_state_and_data + end; %%% So that terminate will be run when supervisor is shutdown handle_event(info, {'EXIT', _Sup, Reason}, StateName, _) -> |