diff options
author | Alexander Clouter <alex@digriz.org.uk> | 2020-07-13 20:50:47 +0100 |
---|---|---|
committer | Alexander Clouter <alex@digriz.org.uk> | 2020-10-28 11:14:45 +0000 |
commit | 2aaa63613bf8ecf96b2c8f0e5d066de8d32b653c (patch) | |
tree | eb0c4a04489ffaa5655e65b8b256465a3de4f16e /lib | |
parent | fb41cd2a42c2455be166edc2e86b7110b96d15ca (diff) | |
download | erlang-2aaa63613bf8ecf96b2c8f0e5d066de8d32b653c.tar.gz |
ftp: fix unhandled clause handle_ctrl_result (racey)
I have only once had the recv_chunk_three_times test fail on me with:
Ftp connection closed due to: {function_clause,
[{ftp,handle_ctrl_result,
[{pos_compl," Transfer complete.\r\n"},
{state,
{tcp,#Port<0.92>},
{tcp,#Port<0.95>},
undefined,true,
"/otp/release/tests/test_server/ct_run.test_server@2f3b3bf1b7c3.x/tests.ftp_test.logs/run.x/log_private",
ftp_server_default,true,passive,60000,<<>>,
{<<>>,[],start},
"226 Transfer complete.\r\n",<0.336.0>,
undefined,recv_chunk,inet,[],[],[],ignore,
infinity,false,false}],
[{file,"/otp/lib/ftp/src/ftp.erl"},
{line,1573}]},
{gen_server,try_dispatch,4,
[{file,"gen_server.erl"},{line,680}]},
{gen_server,handle_msg,6,
[{file,"gen_server.erl"},{line,756}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,226}]}]}
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ftp/src/ftp.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ftp/src/ftp.erl b/lib/ftp/src/ftp.erl index 645d8de25a..b2eb7c6a13 100644 --- a/lib/ftp/src/ftp.erl +++ b/lib/ftp/src/ftp.erl @@ -1317,7 +1317,7 @@ handle_info({Trpt, Socket, Data}, #state{dsock = {Trpt,Socket}, client = From, = State) when Trpt==tcp;Trpt==ssl -> ?DBG('L~p --data ~p ----> ~s~p~n',[?LINE,Socket,Data,State]), gen_server:reply(From, {ok, Data}), - {noreply, State#state{client = undefined, data = <<>>}}; + {noreply, State#state{client = undefined, caller = undefined, data = <<>>}}; handle_info({Trpt, Socket, Data}, #state{dsock = {Trpt,Socket}} = State0) when Trpt==tcp;Trpt==ssl -> ?DBG('L~p --data ~p ----> ~s~p~n',[?LINE,Socket,Data,State0]), |